Задать вопрос

PHPDoc для автодополнения при кривом автолоудере?

Давным давно пришел в проект, в котором всё классы вызываются через синглтон менеджер. Всё бы ничего, но из-за этого сложно с автодополнением.

Примерно всё так:
class ClassManager {

	private $objects;

	function __get($name) {
		if (isset($this->objects[$name])) {
			return $this->objects[$name];
		} else {
			$file = $this->getFileName($name);
			$file_path = $_SERVER['DOCUMENT_ROOT'] . '/' .$file;
			if ($file AND file_exists($file_path)) {
				require_once($file_path);
				$this->objects[$name] = new $name();
				return $this->objects[$name];
			}
			return (object) $temp;
		}
	}

	private function getFileName($name) {
		return $name;
	}
}

class CM {
	static $init = NULL;
	static function init() {
		self::$init = new ClassManager();
	}
}


И классы вызываются так:
CM::$init->Shab->и_название_метода_вспоминай_сам

Что можете посоветовать? Переписывать сейчас всё это нет времени...
Спасибо за внимание.
  • Вопрос задан
  • 2550 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Supme
@Supme
Просто системный администратор
Припоминаю, когда смотрел Phalcon, там для разных IDE есть конфиги со списками классов и функций, можно посмотреть как сделано и сделать себе такое. В Phpstorm дополнение работало.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
benbor
@benbor
Помог ответ - не забудь лайкнуть
/** @var $instance MyMegaShabClass */
$instance = CM::$init->Shab;
$instance->и_название_метода_подскажет_IDEA
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы