Генерим autocomplete для LiveStreet под Eclipse
1. ставим ls-yii из репозтария
2. делаем
3. запускаем генератор
4. чекаем на ошибки получившиеся файлы
5. вписываем в проект external source

6. дико тащимся и говорим спасибо
траблашутинг:
— вырубите авадимовскую админку, у нее дикий автолоадер
— в GencodedocCommand закомментируйте 2 ob_start()'а
— смотрите на трейсы
чтобы поцоны совсем расслабились, методы для чистого движка
yaglov.ru/uploader/upload/0lvmlcc-01k50hc-0d1730z/files/codedoc.zip
2. делаем
chmod +x plugins/yii/include/framework/lsyiic
mkdir codedoc && chmod 0777 codedoc
3. запускаем генератор
plugins/yii/include/framework/lsyiic lsshell gencodedoc end
4. чекаем на ошибки получившиеся файлы
5. вписываем в проект external source

6. дико тащимся и говорим спасибо
траблашутинг:
— вырубите авадимовскую админку, у нее дикий автолоадер
— в GencodedocCommand закомментируйте 2 ob_start()'а
— смотрите на трейсы
чтобы поцоны совсем расслабились, методы для чистого движка
yaglov.ru/uploader/upload/0lvmlcc-01k50hc-0d1730z/files/codedoc.zip
41 комментарий
Решить можно попробовать состряпав аналогичный файл только используя phpDOC @method
, но не уверен в результате
ЗЫ
Класс называть Object не самая лучшая идея была, учитывая что есть PHPшный class Object
как так? почему фатал не появляется?
освежите теорию
Вот список классов — de2.php.net/manual/en/reserved.classes.php
PhpStorm возможно отключить авто-сохранение и включить индикатор изменения файлов?
Только надо иметь пых на локальном компе.
У меня как раз он на удаленном в сети, и чего-то не получилось.
Допустим, есть PluginBla и PluginFoo (и подгружаются именно в таком порядке), и в обоих наследуется класс ActionTopic. Значит, явно у нас определяются классы:
Я для себя сварганил скрипт, который генерит дополнительно такие объявления:
И теперь, если я правлю код в классе PluginFoo_ActionTopic, то PhpStorm нормально определяет всю цепочку наследования, показывает перекрытие классов, вызывается автокомплит свойств и методов родительских классов при написании кода и проч. Короче, все, как доктор прописал.
Если же PluginBla_Inherit_ActionTopic и PluginFoo_Inherit_ActionTopic наследовать сразу от Object, то вся цепочка наследования ломается.
У меня пока только вот руки не дошли методы модулей описать, которые через «магические» методы вызываются, типа $this->Viewer_Assign(). Да и не придумал я еще, как это лучше сделать.
Никто не знает, эклипсу можно ли написать паттерн, по которому бы он отслеживал автолоад и не матерился на Plugin_Module_Method?
Надо хоть какую-то совместимость предусмотреть :).
Даже, если поменяется в исходной, то переопределение сработает в большинстве случаях.
По мне так пусть лучше ошибка вылезет из-за несовпадения имен методов или числа передаваемых параметров — исправить недолго, но зато я буду знать, что был рефакторинг, посмотреть, на что он может повлиять, и, возможно, свой код переписать под новые условия