CakePHP 1.3 introduced a new way to use helpers. This was added to prevent confusion between helper variables and local variables added to the view file. You can access helper methods in a view by using
$this->Helper->method(). This way make a problem if you want to use auto-complete for helpers introduced in a previous article
With a small trick you can make netbeans supports this method auto-complete. To do this add a file in your project folder, or preferable to be in CakePHP core folder, with a name
dummy_view.php for example. Now add the following code to this file.
Now put the following line of code in end of your view file:
<?php /* @var $this DummyView */ ?>
Now you’ll see that netbeans displays auto-complete for those helper methods and view methods too like
$this->element() for example.
How does this work?
The idea here is simple we tell netbeans that there is a new class that extends
View class. Then when in view file we tell netbeans to consider that
$this has the type
DummyView. CakePHP run the code in view files inside
render() method in
View class so
$this is really an instance of
View class. Now as netbeans knows the type of
$this variable and knows the types of its variables, which are CakePHP helpers, it shows their autocomplete options.
Finally, you should be aware of the following:
- Make sure to include your CakePHP core path in netbeans include path or it is inside your project source folder.
- This will not load helpers in run time, so make sure you include required helpers in your controller.
- You can add your own custom helper in
DummyViewclass using the same method as core helpers.
I know this has been late but it is still useful