#php #netbeans #code-completion
#php #netbeans #завершение кода
Вопрос:
Я использую что-то вроде этого:
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?
Я знаю, что что-то подобное разрешено в плагине ZendFramework
Может быть, я могу добавить это в свой фреймворк?
какой-нибудь другой html */
UPD: Я хочу видеть свойства, которые я использовал в index.php
завершении кода в index.tpl
Свойствах, которые не должны быть перечислены в view php
как свойства
Комментарии:
1. Я не понимаю, о чем спрашивают. Пожалуйста, переформулируйте фразу в вопрос вместо утверждения.
2. Я думаю, он спрашивает, может ли он заставить code completion распознать $ this как принадлежащий классу View и открыть список параметров завершения, когда он начнет его вводить?
Ответ №1:
Это не сработает:
<?php /* @var $this Viewer */?>
И для этого есть несколько причин. Во-первых, docblocks начинаются с /**
не просто /*
. Также вы объявляете, $this
что это экземпляр Viewer
, но фактическое имя класса является View
. Это не соответствует, поэтому вы не получите никакого завершения кода (или, по крайней мере, не ожидаемого завершения кода).
Итак, вы должны использовать:
<?php /** @var $this View */?>
Кроме того, если вы хотите получить доступ к свойствам, вы должны объявить их. Это единственный способ, которым Netbeans узнает о свойствах.
Я не проверял, действительно ли будет работать указание класса для $this
в docblock.
Комментарии:
1. Но /* тоже работает. (Я только сейчас вижу метод просмотра) Но мой вопрос был таков: могу ли я просмотреть свойства, которые я использую в a.php и не объявлять в view.php смотрите в моем шаблоне
2. Вы не можете, потому что Netbeans не может определить, какие свойства существуют, если вы их не объявите.
3. Но, например, в плагине для ZendFramework (я думаю, что в плагинах для Symphony тоже) можно использовать те свойства шаблона view in viewer, которые использовались в этом контроллере страницы. Я понимаю, что это не разрешено для меня в NetBeans по умолчанию, но, может быть, я могу как-то его расширить?
4. Я не знаю, работает ли завершение кода в views с ZF или Symphony (я не использую ни то, ни другое), поэтому я не знаю, как это будет работать там.