Как определить метод в дочернем классе без переопределения родительского? Здравствуйте. В общем у меня стоит задача сделать поддержку IDE для фреймворка Phalcon. Т.к. мне не нравятся название классов типа (\Phalcon\Mvc\View) решил создать свой класс с именем Phalcon_Mvc_View и проследовал его от \Phalcon\Mvc\View. Всё круто, работает, но нет автокомплита в IDE, т.к. она не знает ничего про Phalcon. Собственно вопрос: "Как сделать так, чтобы IDE рассказать от методах родительского класса?". Док-блоки не предлагать Хотелось бы чтобы получилось что-то подобноеclass Phalcon_Debug_Dump extends Phalcon\Debug\Dump { protected $_detailed = false; protected $_methods = null; protected $_styles; public function getDetailed(); /** * @param mixed $detailed */ public function setDetailed($detailed); /** * Phalcon\Debug\Dump constructor * * @param array $styles * @param boolean $detailed debug object's private and protected properties */ public function __construct($styles = null, $detailed = false); }
Для того чтобы IDE понимала методы из родительского класса без переопределения их в дочернем классе, можно воспользоваться PHPDoc комментариями над методами дочернего класса. В этом случае IDE будет использовать информацию из PHPDoc комментариев для определения методов и их аргументов.
Пример:
class Phalcon_Debug_Dump extends Phalcon\Debug\Dump { protected $_detailed = false; protected $_methods = null; protected $_styles; /** * Get the detailed flag value * * @return boolean */ public function getDetailed(); /** * Set the detailed flag * * @param boolean $detailed */ public function setDetailed($detailed); /** * Constructor * * @param array|null $styles * @param boolean $detailed */ public function __construct($styles = null, $detailed = false); }
В приведенном выше примере я добавил PHPDoc комментарии к каждому методу в дочернем классе Phalcon_Debug_Dump, указывая тип возвращаемого значения (если есть) и тип аргументов. IDE сможет использовать эту информацию для предоставления автодополнения методов и их аргументов при работе с экземплярами класса Phalcon_Debug_Dump.
Для того чтобы IDE понимала методы из родительского класса без переопределения их в дочернем классе, можно воспользоваться PHPDoc комментариями над методами дочернего класса. В этом случае IDE будет использовать информацию из PHPDoc комментариев для определения методов и их аргументов.
Пример:
class Phalcon_Debug_Dump extends Phalcon\Debug\Dump{
protected $_detailed = false;
protected $_methods = null;
protected $_styles;
/**
* Get the detailed flag value
*
* @return boolean
*/
public function getDetailed();
/**
* Set the detailed flag
*
* @param boolean $detailed
*/
public function setDetailed($detailed);
/**
* Constructor
*
* @param array|null $styles
* @param boolean $detailed
*/
public function __construct($styles = null, $detailed = false);
}
В приведенном выше примере я добавил PHPDoc комментарии к каждому методу в дочернем классе Phalcon_Debug_Dump, указывая тип возвращаемого значения (если есть) и тип аргументов. IDE сможет использовать эту информацию для предоставления автодополнения методов и их аргументов при работе с экземплярами класса Phalcon_Debug_Dump.