Eclipse PDT - code-hints, references and other goodies

  1. Intro
  2. Howto
  3. Code Hints in Your Yii Views
  4. Tips

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 type of object you receive when iterating over an array.

Eclipse parses phpDoc comments to find out about function parameter and return value types, descriptions and so on.

To make best use of it be sure to add phpDocs in your code:

/**
 * 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 your build path.

There are 2 ways to achieve this:

Yii inside your project's source

Say you've got yii (framework dir from ditributed archive) at the same dir as your project's protected dir.

Then you basically don't need to do anything - once Eclipse parses the code you've got all the good stuff.

Yii outside project's source

Here you'll need to add yii (or any other framework/library) to your include path.

  1. Create project
  2. Go to Project > Properties > PHP Include Path
  3. You've got Projects tab, Libraries tab, Order (and Source in PDT 2.0).
  4. Now use your own judgement:
    • whether to create project for yii (maybe you'd like to checkout latest revisions from time to time?)
    • add Yii as a library (e.g., its in your system- or user-wide PHP includes dir)
    • add Yii as a source folder
  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 /* @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 something in the code will give you tooltip with info on that something if any.
  • F4 will open type-hierarchy (PDT 2.0).
14 0
6 followers
Viewed: 41 090 times
Version: 1.1
Category: Tutorials
Tags: IDE
Written by: mindeh
Last updated by: Woil
Created on: Feb 18, 2009
Last updated: 13 years ago
Update Article

Revisions

View all history

Related Articles