Difference between #20 and #29 of
NetBeans IDE and Yii projects

Revision #29 has been created by Yang He on Jun 30, 2012, 3:10:08 PM with the memo:

Removed broken Chinese version link
« previous (#20) next (#33) »

Changes

Title unchanged

NetBeans IDE and Yii projects

Category unchanged

Tutorials

Yii version unchanged

Tags unchanged

IDE, Selenium, PHPUnit, XDebug, NetBeans

Content changed

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 instructions](http://www.phpunit.de/manual/3.6/en/installation.html).
 
  - 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 (assuming it is properly placed 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 "^(_yiilite\\.php_|CVS|SCCS|...."
 
  - Restart NetBeans
 
- Code completion in view files.
 
  - Add the following PHPDoc statement at the head of the file to use code completion in view files. (you may add additional passed parameters as well)
 
 
```php 
/* @var $this PostController */
 
/* @var $model Post */
 
$this->getSomeProValue(); // possible with code completion
 
$model->author; // possible with code completion
 
``` 
 
 
 
#### Usage:
 
- Typing suggestions: Ctrl-Space
 
- Show Function parameters: Ctrl-P
 
- Comment your own code with PHPDoc style. [Here's a good example](http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_sample2.pkg.html).
 
 
 
## Debugging
 
 
- Install Xdebug (usually already available in your installation):
 
  - Follow [the official installation instructions](http://xdebug.org/docs/install).
 
- Include the Xdebug extension for PHP:
 
  - In php.ini enable (by removing ; prefix) these settings: <pre>zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
 
       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. :)
 
- If you want to stop the debugger from pausing on the first line for every request, simply turn that "feature" off by clicking: Tools > Options > PHP > Debugging > Stop at First Line (uncheck) 
 
 
## Got problems or questions?
 
Do NOT post a comment on this wiki page, but go to the forums:
 
<http://www.yiiframework.com/forum/index.php?/topic/11735-netbeans-ide-and-test-driven-development/>
 
 
Links
 
-----
 
 
- [Chinese version](http://www.itkuaixun.com/bbs/thread-216-1-1.html "Chinese version")
1. Code completion
 
 
To get context sensitive code completion, follow these steps:
 
 
- Include Yii folder (assuming it is properly placed 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 "^(_yiilite\\.php_|CVS|SCCS|...."
 
  - Restart NetBeans
 
- Code completion in view files ###
 
  - Add the following PHPDoc statement at the head of the file to use code completion in view files. (you may add additional passed parameters as well)
 
 
```php 
/* @var $this PostController */
 
/* @var $model Post */
 
$this->getSomeProValue(); // possible with code completion
 
$model->author; // possible with code completion
 
```
 
 
#### Usage:
 
 
- Typing suggestions: Ctrl-Space
 
- Show Function parameters: Ctrl-P
 
- Comment your own code with PHPDoc style. [Here's a good example](http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_sample2.pkg.html).
 
 
## 2. Code templates
 
 
You can create code templates for commonly used/overridden function in Yii.
 
For example, if you want to add an beforeSave() function in your model, by typing a shortcut you can automatically have the function template in place.
 
 
 - Download this template set to get started: [http://fbe.am/7bd](http://fbe.am/7bd). It contains:
 
  - For **models**: ybehaviors, yrelations, yrules, yscopes, ydefaultscope, yafterconstruct, yafterdelete, yaftersave, yaftervalidate, ybeforedelete, ybeforefind, ybeforesave, ybeforevalidate 
 
  - For **controllers**: yaccessrules, yfilters, yactions, ybehaviors, ybeforeaction, yafteraction, ybeforerender, yafterrender
 
  - **Generic**: yinit, yrun
 
 - Go to "Tools > Options > Editor > Code Templates"
 
 - Hit "Import", select the file, and choose "Code Templates"
 
 
#### Usage:
 
 
 - Type the shortcut and hit TAB
 
 - More info: [NetBeans Docs](http://netbeans.org/kb/docs/php/code-templates.html#using-templates)
 
 - Example:
 
 
```php 
// typing: ybeforesave + TAB
 
// expands to:
 
 
/**
 
 * This method is invoked before saving a record (after validation, if any).
 
 * @return boolean whether the saving should be executed. Defaults to true.
 
 */
 
protected function beforeSave()
 
{
 

 
return parent::beforeSave();
 
}
 
```
 
 
## 3. 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 instructions](http://www.phpunit.de/manual/3.6/en/installation.html).
 
  - 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)
 
 
## 4. Debugging
 
 
- Install Xdebug (usually already available in your installation):
 
  - Follow [the official installation instructions](http://xdebug.org/docs/install).
 
- Include the Xdebug extension for PHP:
 
  - In php.ini enable (by removing ; prefix) these settings: <pre>zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
 
       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. :)
 
- If you want to stop the debugger from pausing on the first line for every request, simply turn that "feature" off by clicking: Tools > Options > PHP > Debugging > Stop at First Line (uncheck) 
 
 
 
## Got problems or questions?
 
 
Do NOT post a comment on this wiki page, but go to the forums:
 
<http://www.yiiframework.com/forum/index.php?/topic/11735-netbeans-ide-and-test-driven-development/>
 
65 0
66 followers
Viewed: 248 704 times
Version: 1.1
Category: Tutorials
Written by: marcovtwout
Last updated by: marcovtwout
Created on: Sep 21, 2010
Last updated: 9 years ago
Update Article

Revisions

View all history