Uniform Server PHP IDE: IDE Overview: Difference between revisions
(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 | 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)''' | * 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)''' | * 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'':''' | ||
You can resize and rearrange windows position as appropriate. | |||
== IDE Commands - Macro and Context menu == | == IDE Commands - Macro and Context menu == | ||
IDE uses four command scripts | 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: | ||
|} | |} | ||
== 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 ''' | ** 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 | ** 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 | ** 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 | '''''Note'':''' Script output and errors are displayed in the console window | ||
| | | | ||
[[Image:Ide_debugging_1.gif]] | [[Image:Ide_debugging_1.gif]] | ||
|} | |} | ||
== 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''' | * ''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''' | * ''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: | ||
|} | |} | ||
== Watches == | == Watches == | ||
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: | ||
|} | |} | ||
== Xdebug Break function == | == Xdebug Break function == | ||
For debugging you must set at least one break point. | 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. | ||
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> | ||
|} | |} | ||
== 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]] | ||
|} | |} | ||
== 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. | ||
---- | ---- |
Latest revision as of 23:21, 9 December 2010
Uniform Server PHP IDE : Introduction | XDebug Overview | IDE Overview | PHP CLI | XDebug WinBinder
|
|
Uniform Server PHP IDE. |
PHP IDE Overview
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.
IDE User interface
The IDE user interface consists of three windows: Edit Window:
|
Note:
You can resize and rearrange windows position as appropriate.
IDE uses four command scripts that perform the following functions:
A) Check PHP Syntax | Check syntax of currently displayed PHP script in edit window. Results are displayed in console window. Double clicking on any highlighted errors scrolls the edit window and highlights corresponding line in error. |
B) Run as PHP CLI | Execute currently displayed PHP script using the PHP interpreter. 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. |
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. |
Command scripts are run using either the macro drop-down menu or context menu shown below:
Context menu:
|
|
Macro drop-down menu:
|
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
- 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
Open test file debug_test.php (contained in folder php_scripts) in Notepad++ edit window and follow the instructions below to debug.
Note: Script output and errors are displayed in the console window |
Change Value of a variable
After running up to a break-point and before continuing you may want to change a variable’s value.
Set a variable as follows
|
Watches
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.
Add Watch
Delete Watch
|
Xdebug Break function
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.
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
How to disable
For debugging to take place, either manually set a break point in a page |
Add xdebug_break() to a page
You can add the xdebug_break() to any location in a page and break at that point
For example
Note: No variables displayed in local context window. |
<?php $a=10; $b=20; $c=$a+$b; print "Result = $c\n"; xdebug_break() ; print "Debug Test $a\n"; print "Debug Test $b\n"; ?> |
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.
Following demonstrates this technique using our test script debug_test.php
Batch file
|
mode con:cols=65 lines=20 TITLE UNIFORM SERVER - Debug Test COLOR B0 @echo off cls ..\unicode\php\php.exe -c ..\unicode\php\php_cli_ide_debug.ini debug_test.php pause |
Debug
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.
|
Summary
The above has shown how to install the Uniform Server IDE.
Next page looks at running PHP CLI scripts on this IDE.