This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
Jose Diaz-Gonzalez (author)
Tue Sep 29 02:24:22 -0700 2009
| name | age | message | |
|---|---|---|---|
| |
README | Mon Jun 08 20:14:17 -0700 2009 | |
| |
controllers/ | Thu Jul 23 05:40:45 -0700 2009 | |
| |
interactive_app_controller.php | Fri Jun 05 19:28:53 -0700 2009 | |
| |
interactive_app_model.php | Fri Jun 05 19:28:53 -0700 2009 | |
| |
models/ | Mon Jun 08 21:10:48 -0700 2009 | |
| |
tests/ | Mon Jun 08 20:53:10 -0700 2009 | |
| |
vendors/ | Fri Jul 10 21:46:37 -0700 2009 | |
| |
views/ | Tue Sep 29 02:24:22 -0700 2009 |
README
/* * Interactive panel for the CakePHP DebugKit * Copyright (c) 2009 Matt Curry * www.PseudoCoder.com * http://github.com/mcurry/interactive * * @author Matt Curry <matt@pseudocoder.com> * @license MIT * */ /* About */ This plugin adds easy interactions with your CakePHP app using the console or through a custom panel for the CakePHP DebugKit. It handles simple PHP commands, SQL queries and PHP using your Cake objects. /* Examples */ 10 % 4 (returns 2) is_array(49) (returns false) SELECT id FROM users WHERE email = 'test@test.com' (retuns the id of the matching record) User::findByEmail('test@test.com') (returns the entire matching user record) /* Power Usage */ When using in the DebugKit panel you can stack commands, just make sure to end each with a ";" as you would in your code. If you're having trouble getting results for a particular command and can't figure out why try turning on debug as the first command: Configure::write('debug', 2); User::findByEmail('test@test.com'); /* Warning */ There isn't any sort of error detection or validation on the input. Also there isn't any pagination for long result sets. If you enter in a query that returns a million records, you're going to get a million records. You can't declare a variable and use it across commands. For example this doesn't work: $i = 10; $i ++; /* Instructions */ 1) Download the plugin to /app/plugin/interactive /* Console Instructions */ 1) Run the cake console passing the "interactive" shell from /app: ../cake/console/cake interactive 2) Enter commands as needed. Enter 'Q' to exit. 3) You can also commands as parameters. The interactive shell will run the command and exit ../cake/console/cake interactive Post::find('first') /* DebugKit Instructions (version 1.1) */ 1) You need to patch the DebugKit to include the fix for defect #21 (http://thechaw.com/debug_kit/tickets/view/21). The fix is 3 additional lines to /plugins/debug_kit/controllers/components/toolbar.php http://thechaw.com/debug_kit/commits/view/ba5a45f930e3f2b65cf779155c65048c660110c5 2) In your AppController include the panel (as well as all the default panels): var $components = array('DebugKit.Toolbar' => array('history', 'session', 'request', 'sqlLog', 'timer', 'log', 'variables', 'Interactive.interactive'); /* DebugKit Instructions (trunk) */ 1) Include the panel: $components = array('DebugKit.Toolbar' => array('panels' => array('Interactive.interactive'));







