Join GitHub today
Custom panel for the CakePHP DebugKit allowing for interactive sessions with your app http://www.pseudocoder.com
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
/* * Interactive panel for the CakePHP DebugKit * Copyright (c) 2009 Matt Curry * www.PseudoCoder.com * http://github.com/mcurry/interactive * * @author Matt Curry <email@example.com> * @author Sandu Lungu <firstname.lastname@example.org> * @license MIT * */ This version of the plugin is compatible with CakePHP 1.3 and the latest DebugKit /* 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 = 'email@example.com' (retuns the id of the matching record) User::findByEmail('firstname.lastname@example.org') (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('email@example.com'); Facebook.Page::findByEmail('firstname.lastname@example.org'); // here we use a plugin /* 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 (trunk) */ 1) Include the panel: $components = array('DebugKit.Toolbar' => array('panels' => array('Interactive.interactive'));