Ответ 1
Вы должны использовать однострочную форму: /** @var $job MyJobObject */
Обратите внимание, что некоторые редакторы предпочитают синтаксис наоборот: /** @var MyJobObject $job */
Я использую Zend Studio для разработки на PHP с CakePHP, и одна из проблем с CakePHP заключается в том, что представления все ссылаются на необъявленные локальные переменные.
Так, например, в контроллере вы бы
$this- > set ('job', новый MyJobObject());
Тогда в представлении вы могли бы
echo $job- > getName();
Моя проблема в том, что Zend Studio не может выполнить автозаполнение на $job
, потому что тип неизвестен. Теперь есть теги PHPDoc, которые позволяют вам объявлять тип, чтобы среда IDE могла выполнять автозаполнение. Тег @var
, например, может использоваться в классе для определения типа свойства.
class MyJobObject
{
/**
* @var MyStatusObject
*/
public $status;
}
Есть ли способ сделать что-то подобное для локальных переменных?
Вы должны использовать однострочную форму: /** @var $job MyJobObject */
Обратите внимание, что некоторые редакторы предпочитают синтаксис наоборот: /** @var MyJobObject $job */
Вы можете делать поверх файла вида/шаблона.
<?PHP
/* @var $job MyJobObject */
?>