Uniform Server PHP IDE: IDE Overview: Difference between revisions

Punctuation and grammatical changes; some clarification.
(New page: {{nav Uniform Server PHP IDE}} '''''PHP IDE Overview''''' Uniform Server PHP IDE ‘s main component is Notepad++ this is an excellent text editor and well supported. There is a wide rang...)
 
(Punctuation and grammatical changes; some clarification.)
 
Line 2: Line 2:
'''''PHP IDE Overview'''''
'''''PHP IDE Overview'''''


Uniform Server PHP IDE ‘s main component is Notepad++ this is an excellent text editor and well supported. There is a wide range of easily installed plugins for Notepad++ our IDE uses the following two plugings DBGp and NppExec. XDebug client DBGp interfaces to the PHP Debug module providing interactive control for debugging. An integrated console window and command scripting is provided by NppExec.
Notepad++ is Uniform Server PHP IDE‘s main component. This is an excellent text editor and is well supported. Notepad++ has a wide range of easily installed plugins. Our IDE uses the following two plugings DBGp and NppExec. The XDebug client DBGp interfaces to the PHP Debug module providing interactive control for debugging. An integrated console window and command scripting are provided by NppExec.


This overview covers the user interface, main debugging elements and menu options.
This overview covers the user interface, main debugging elements and menu options.
Line 11: Line 11:
|
|


IDE user interface consists of three windows:
The IDE user interface consists of three windows:


'''''Edit Window'':'''
'''''Edit Window'':'''
* Start IDE: Double click on file '''Run_IDE.bat'''
* Start IDE: Double click on file '''Run_IDE.bat'''
* Notepad++ runs and edit window is displayed. This is where you enter and save scripts.
* Notepad++ runs and the edit window is displayed. This is where you enter and save scripts.




'''''Debug Window'':'''  
'''''Debug Window'':'''  
* Click '''Debugger''' icon '''B)''' opens debug window
* Click '''Debugger''' icon '''B)''' to open the debug window
* Debug window '''DBGp''' displayed '''C)'''   
* Debug window '''DBGp''' displayed '''C)'''   




'''Console Window'''
'''Console Window'''
* Click '''Show Console Dialog''' icon '''D)''' opens console window
* Click '''Show Console Dialog''' icon '''D)''' to open the console window
* Console '''E)''' window displayed
* Console '''E)''' window displayed
|
|
Line 31: Line 31:
'''''Note'':'''
'''''Note'':'''


Resize and rearrange windows position as appropriate.
You can resize and rearrange windows position as appropriate.


'''''[[#top | Top]]'''''


== IDE Commands - Macro and Context menu ==
== IDE Commands - Macro and Context menu ==
IDE uses four command scripts these perform the following functions
IDE uses four command scripts that perform the following functions:
{| cellpadding="2" cellspacing="1" style="background:#000000;"
{| cellpadding="2" cellspacing="1" style="background:#000000;"
|-valign="top" style="background:#f5f5f5;"
|-valign="top" style="background:#f5f5f5;"
Line 45: Line 44:
| '''''C'')''' '''Run PHP CLI Debug'''  ||Execute currently displayed PHP script using the PHP interpreter configured for debugging. Debugging results displayed in debug window.  Script results displayed in console window.   
| '''''C'')''' '''Run PHP CLI Debug'''  ||Execute currently displayed PHP script using the PHP interpreter configured for debugging. Debugging results displayed in debug window.  Script results displayed in console window.   
|-valign="top" style="background:#f5f5f5;"
|-valign="top" style="background:#f5f5f5;"
| '''''D'')''' '''Run Script On Server'''  ||Run currently displayed PHP web page on server. Script is first saved and default browser redirected to page on server. Page displayed in browser.
| '''''D'')''' '''Run Script On Server'''  ||Run currently displayed PHP web page on server. Script is first saved and default browser redirected to page on server. Page is displayed in browser.
|}  
|}  


Line 70: Line 69:
|}
|}


'''''[[#top | Top]]'''''


== Debug Window Overview ==
== Debug Window Overview ==
At first sight the debugger looks intimidating however it really is easy to use. Start the IDE by running '''Run_IDE.bat'''
At first sight the debugger looks intimidating, however it really is easy to use. Start the IDE by running '''Run_IDE.bat'''
* Located in folder <whatever path you used>/'''us_portable_php_ide''' - Portable installation
* Located in folder <whatever path you used>/'''us_portable_php_ide''' - Portable installation
* Or located in folder <whatever path you used>/'''UniServer\us_portable_ide''' - Plugin installation
* Or located in folder <whatever path you used>/'''UniServer\us_portable_ide''' - Plugin installation
Line 87: Line 85:
* Set at least one break-point.
* Set at least one break-point.
** D) Click on a line becomes highlighted
** D) Click on a line becomes highlighted
** E) Click Add '''breakpoint button'''<br>''Marks line with a red dot''<br>''If clicked again toggles to off''  
** E) Click Add '''break point button'''<br>''Marks line with a red dot''<br>''If clicked again toggles to off''  
** F) Entry displayed in list<br>''Right click list to delete all breakpoints''
** F) Entry displayed in list<br>''Right click list to delete all breakpoints''
* G) From macro select '''Run PHP CLI Debug'''
* G) From macro select '''Run PHP CLI Debug'''
* Use the debugger toolbar or shortcut keys to control the debugger.
* Use the debugger toolbar or shortcut keys to control the debugger.
** H) Step Into - Proceed into functios
** H) Step Into - Proceed into functions
** I) Step over - Proceed
** I) Step over - Proceed
** J) Step out - If you're in a function, skip the rest and go to return.
** J) Step out - If you're in a function, skip the rest and go to return.
** K) Run to cursor - Automatically adds a break point runs script up to the cursor.
** K) Run to cursor - Automatically adds a break point and runs script up to the cursor.
** L) Run - Runs to next breakpoint or script end
** L) Run - Runs to next break point or script end
** M) End - Terminate debugging  
** M) End - Terminate debugging  
** O) Eval - Allows you to change a variable
** O) Eval - Allows you to change a variable


'''''Note'':''' Script output and errors are displayed in the cosole window
'''''Note'':''' Script output and errors are displayed in the console window
|
|
[[Image:Ide_debugging_1.gif]]
[[Image:Ide_debugging_1.gif]]
|}
|}


'''''[[#top | Top]]'''''


== Change Value of a variable ==
== Change Value of a variable ==
Line 114: Line 110:
=== Set a variable as follows ===
=== Set a variable as follows ===


* ''Step A)'' Click the '''Eval button''' this opens a pop-up
* ''Step A)'' Click the '''Eval button''' which opens a pop-up




* ''Step B)'' In the pop-up enter a '''variable name''' and assign a '''new value'''. For example '''$a=222'''<br>Note you do not need to add a semicolon.
* ''Step B)'' In the pop-up enter a '''variable name''' and assign a '''new value'''. For example '''$a=222'''<br>Note: you do not need to add a semicolon.
* ''Step C)'' Click '''OK''' this performs an evaluation and opens a pop-up   
* ''Step C)'' Click '''OK''' which performs an evaluation and opens a pop-up   




* ''Step D)'' Pop-up displays result of evaluation. Unlike PHP's eval new value is immediately available to your script.<br>Script may update this variable as it runs.
* ''Step D)'' Pop-up displays result of evaluation. Unlike PHP's eval, the new value is immediately available to your script.<br>Script may update this variable as it runs.
* ''Step E)'' Click cross to close pop-up window.   
* ''Step E)'' Click cross to close pop-up window.   
|
|
Line 127: Line 123:
|}
|}


'''''[[#top | Top]]'''''
== Watches ==
== Watches ==
List of variables displayed in the Local Context may become large masking a variable you want to constantly monitor.
The list of variables displayed in the Local Context may become large, obscuring a variable you want to constantly monitor.


Ideally you want to directly monitor a few variables this is achieved by using the Watches window. Add variables as appropriate to this window.
Ideally you want to directly monitor a few variables; this is achieved by using the Watches window. Add variables as appropriate to this window.
{|
{|
|-valign="top"
|-valign="top"
Line 137: Line 132:
=== Add Watch ===
=== Add Watch ===
* ''Step A)'' Click Watch tab (bottom of DBGp window)  
* ''Step A)'' Click Watch tab (bottom of DBGp window)  
* ''Step B)'' Right click in this window and select '''Add watch''' opens Add Watch pop-up     
* ''Step B)'' Right click in this window and select '''Add watch''' which opens Add Watch pop-up     
* ''Step C)'' In the pop-up enter variable to watch  
* ''Step C)'' In the pop-up enter variable to watch  
* ''Step D)'' Click '''OK''' adds variable to watch window
* ''Step D)'' Click '''OK''' adds variable to watch window
Line 149: Line 144:
|}
|}


'''''[[#top | Top]]'''''
== Xdebug Break function ==
== Xdebug Break function ==
For debugging you must set at least one break point. Currently we have a default break point set when the debugger starts. This is set to break on first line of a script.
For debugging you must set at least one break point. A default break point is set on first line of a script when the debugger starts.  


Generally this is suitable for most debugging applications however sometimes you want to start debugging in another page that is called from your main script.
This is suitable for most debugging applications, but sometimes you want to start debugging in another page that is called from your main script.


=== Disable default break point ===
=== Disable default break point ===
Line 168: Line 162:
'''''Note 1'':'''
'''''Note 1'':'''


For debugging to take place either manually set a break point in a page<br>or add the '''xdebug_break()''' function  
For debugging to take place, either manually set a break point in a page<br>or add the '''xdebug_break()''' function to the script.


|
|
Line 205: Line 199:
</pre>
</pre>
|}
|}
'''''[[#top | Top]]'''''
 
== Alternative Console Window ==
== Alternative Console Window ==
Notpad++’s integrated console window is ideal for running and testing scripts that use standard I/O. However being integrated there are limitations hence on occasions you may want to use a real command window (console cmd). This is achieved by running a batch file that in turn runs a PHP CLI script.
Notpad++’s integrated console window is ideal for running and testing scripts that use standard I/O. However being integrated there are limitations hence on occasions you may want to use a real command window (console cmd). This is achieved by running a batch file that in turn runs a PHP CLI script.
Line 232: Line 226:
|}
|}
=== Debug ===
=== Debug ===
The batch file runs our test script '''debug_test.php''' any output or input is directed to the batch file command window. The script is debugged using Notepad++ however in this scenario the internal console window is not used.
The batch file runs our test script '''debug_test.php''' and any output or input is directed to the batch file command window. The script is debugged using Notepad++ however in this scenario the internal console window is not used.


{|
{|
Line 250: Line 244:
[[Image:Ide_debugging_4.gif]]
[[Image:Ide_debugging_4.gif]]
|}
|}
'''''[[#top | Top]]'''''


== Summary ==
== Summary ==
Line 256: Line 249:


Next page looks at running [[Uniform Server PHP IDE: PHP CLI | PHP CLI scripts]] on this IDE.
Next page looks at running [[Uniform Server PHP IDE: PHP CLI | PHP CLI scripts]] on this IDE.
'''''[[#top | Top]]'''''


----
----