mcurry / interactive
- Source
- Commits
- Network (2)
- Issues (2)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
| 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'));
