RiaD
RiaD

Reputation: 47619

NetBeans. Code Completion. PHP

I use something like this:

index.php(entryPoint)

<?php
include 'view.php';
$view= new View;

$view->a=5;
$view->render('index.tpl');

view.php
<?

clas View{    
   public function render($file){     
        include 'templates/'.$file;
   }
}

templates/index.tpl


<?php /* @var $this View */?>
//some html
<?php $this->| ?> /*I want to see "a" incode completion here
                  How it is possible?

I know that something like this are allowed in ZendFramework plugin Maybe I can add it with my framework? some other html */

UPD: I want to see properties which I used in index.php in code completion in index.tpl Properties should not be listed in view php as properties

Upvotes: 0

Views: 671

Answers (1)

Arjan
Arjan

Reputation: 9874

This won't work:

<?php /* @var $this Viewer */?>

And there are a few reasons for that. First, docblocks start with /** not just /* . Also you declare $this to be an instance of Viewer, but the actual class name is View. That doesn't match, so you won't get any code completion (or at least not the expected code completion). So you should use:

<?php /** @var $this View */?>

Also, if you want access to properties, you should declare them. That's the only way Netbeans will know about the properties.

I have not tested if specifying a class for $this in a docblock will actually work.

Upvotes: 2

Related Questions