Changes
Title
unchanged
Eclipse PDT - code-hints, references and other goodies
Category
unchanged
Tutorials
Yii version
unchanged
Tags
changed
IDE
Content
changed
## Intro
Since PHP is dynamically typed language, the way IDE may help you is limited.
It will hint you on methods, fields and class constants, but won't know the
y type of object you receive when iterating over an array.
Eclipse parses phpDoc comments to find out about function parameter and return
ed value types,
for descriptions and so on.
To make best use of it be sure to add phpDocs in you
'rer code:
```php
/**
* You'll see this when you get a drop-down
* with suggestions for completing the word
* and onHover on class name.
*/
*/
class Foo {
/**
* Description of a field.
* Be sure to add varType below to get you're code-hints.
* E.g. $aFoo->bar-> + alt+space will give you drop-down
* with varType's fields, methods and so on.
*
* @var varType Description of the field
*/
public $bar;
/**
* Description of baz
*
*
* @param $var varType [$var description]
* @return Foo
*/
public function baz( $var ) {
return new Foo();
}
}}
```
Yii has great documentation in the source code allowing IDE to help fellow programmer a great deal.[...]
## Howto
To get code-hints you basically need to have Yii (or any other framework/library) on you'rer build path.
There are 2 ways to achieve this:
### Yii inside you
'rer project's source
Say you've got yii (framework dir from ditributed archive) at the same dir as your project's protected dir.[...]
### Yii outside project's source
Here you'll need to add yii (or any other framework/library) to you'rer include path.
1. Create project[...]
5. Once Eclipse parses the code you've got all the good stuff
## Code Hints in Your Yii Views
Views in Yii have a minimal amount of markup but are launched in the scope of the calling controller class. The "$this" variable references the calling controller but Eclipse and other editors won't be able to provide code hints without some help from you. At the top of the view file you can put:
```php
<?php /* @var $this SiteController */ ?>
```
Change "SiteController" to the name of the calling controller for each view.
## Tips
* Might happen code-hints doesn't work. Try to remove yiilite.php - it has all framework's classes inside but without documentation. Maybe Eclipse stops after parsing it.
* Having yiilite.php will actually give you all classes twice. You might want to remove it for convenience. (Check docs on performance once you're approaching release date!)
* Holding mouse over s
mthomething in the code will give you tooltip with info on that s
mthomething if any.
* F4 will open type-hierarchy (PDT 2.0).
* There are more, do your research