Difference between #12 and #11 of NetBeans IDE and Yii projects

NetBeans IDE and Yii projects
IDE, Selenium, PHPUnit, XDebug, NetBeans
This page is created to supply short directions and general tips for managing a
Yii application in NetBeans IDE.

## Testing

To run functional tests and unit tests in Yii, recommended is installing PHPUnit
and SeleniumRC.

- Install PHPUnit
  - Follow [the official version 3.6 installation
  - Open "Tools > Options > PHP > Unit Testing" and set the
correct path to the launch script. This is phpunit.bat in
Windows and usually /usr/bin/phpunit in Linux.
- Install SeleniumRC by getting the NetBeans plugin
  - Open "Tools > Plugins > Available Plugins"
  - Install "Selenium Module for PHP"
- Configure project options
  - Open "File > Project properties > Sources" and set
"Test Folder" to \[PROJECT ROOT\]/protected/tests (If the whole
project testing doesn't work, try \[PROJECT ROOT\]/protected/tests/unit)
  - Open "File > Project properties > PHPUnit" and set "Use
Bootstrap" to \[PROJECT ROOT\]/protected/tests/bootstrap.php, and "Use
XML Configuration" to \[PROJECT ROOT\]/protected/tests/phpunit.xml

#### Usage:
- Test whole project: Alt+F6
- Test single file: Shift-F6
- Check code coverage (right click project > Code Coverage)

## Code completion

To get context sensitive code completion, follow these steps:

- Include Yii folder (outside project directory)
  - Open "File > Project properties > PHP Include Path" and add
the Yii framework root path
- Ignore yiilite.php to avoid doubled/missing documentation
  - Open "Tools > Options > Miscellaneous > Files"
  - Add to the front of "Files Ignored by the IDE" the file
  - Restart NetBeans

For above and many more reasons, Yii core files should be kept **outside**
project directory and anywhere outside any web-accessible directory. I.e. if you
keep your project files in Apache's _httpd_ directory, it is wise to create a
new dir (called _yii_, _framewore_ or sth. like that) in the same level of
dirtree (inside Apache main folder, **not** in _httpd_ dir!) and put Yii core
files there. If you do that, you have to include Yii folder in _Include Path_,
as it is written above.

#### Usage:
- Typing suggestions: Ctrl-Space
- Show Function parameters: Ctrl-P
- Comment your own code with PHPDoc style. [Here's a good

## Debugging

- Include the Xdebug extension for PHP (should already be available):
  - In php.ini enable (remove trailing comment semicolon sign - ;) these
settings: <pre>zend_extension =
       xdebug.remote_enable = 1
       xdebug.remote_handler = "dbgp"
       xdebug.remote_host = "localhost"
       xdebug.remote_port = 9000</pre>

#### Usage:
- Debug project: Ctrl-F5
- Use breakpoints, walk through running code, and watch variables and objects in
real-time. :)

# Test Driven Design with Netbeans
Check the forum here: