Как объявить тип для локальных переменных с использованием нотации PHPDoc? - программирование
Подтвердить что ты не робот

Как объявить тип для локальных переменных с использованием нотации PHPDoc?

Я использую Zend Studio для разработки на PHP с CakePHP, и одна из проблем с CakePHP заключается в том, что представления все ссылаются на необъявленные локальные переменные.

Так, например, в контроллере вы бы

$this- > set ('job', новый MyJobObject());

Тогда в представлении вы могли бы

echo $job- > getName();

Моя проблема в том, что Zend Studio не может выполнить автозаполнение на $job, потому что тип неизвестен. Теперь есть теги PHPDoc, которые позволяют вам объявлять тип, чтобы среда IDE могла выполнять автозаполнение. Тег @var, например, может использоваться в классе для определения типа свойства.

class MyJobObject
{
    /**
     * @var MyStatusObject
     */
    public $status;
}

Есть ли способ сделать что-то подобное для локальных переменных?

4b9b3361

Ответ 1

Вы должны использовать однострочную форму: /** @var $job MyJobObject */

Обратите внимание, что некоторые редакторы предпочитают синтаксис наоборот: /** @var MyJobObject $job */

Ответ 2

Вы можете делать поверх файла вида/шаблона.

<?PHP
/* @var $job MyJobObject */
?>