Как определить метод в дочернем классе без переопределения родительского? Здравствуйте.
В общем у меня стоит задача сделать поддержку 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);
}

21 Авг 2019 в 07:07
184 +1
1
Ответы
1

Для того чтобы 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.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир