yii2support
yii2support copied to clipboard
Не работают подсказки для "Configuration arrays for object instantiation"
What steps will reproduce the problem?
Объявить класс, наследующий yii\base\BaseObject (в котором реализована фича configuration arrays); Вызвать конструктор класса через new; Написать пустые квадратные скобки в вызове конструктора (таким образом начать заполнять configuration array);
What is the expected result?
В качестве ключей массива появляются подсказки с именами свойств класса
What do you get instead?
Подсказки не появляются. Всплывает сообщение "No suggestions"
Additional info
Сам плагин активен и работает. В частности работают подсказки для Model::rules и для Url::to(); Также подсказки работают в конфиге, в контроллере в функции behaviors, например:
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['guest', 'user'],
]
Также всё ок при использовании CreateObject:
$ojbect = Yii::createObject([
'class' => 'app\components\SomeClass',
'someProperty' => 1 // this works
]);
Не работает только в сочетании с new
new SomeClass([
]);
Также, заявленная фича "Go To Declaration, Rename, Find usages and Help popups work whenever code completion works" не работает вообще нигде, даже там, где с автокомплитом всё ок.
Q | A |
---|---|
IDE Name | PhpStorm |
IDE Version | 2021.1.2 (Build #PS-211.7142.44, built on April 30, 2021) |
Plugin version | com.yii2support (0.10.58.37) |
Yii App Template | basic |
@beeryukov теста ради попробуй вот эту версию, я там правил кучку всяких мелочей Yii2 Support-0.10.58.40.zip Это билд из этого PR https://github.com/nvlad/yii2support/pull/270
@iglooom, спасибо, попробовал. Подсказки для new SomeClass([])
появились, уже хорошо :)
А вот Go To Declaration, Rename, Find usages
не заработало.
https://plugins.jetbrains.com/plugin/9388-yii2-support
Calculates return type for Yii::createObject call and one/all method calls of ActiveRecord
@beeryukov По какой-то причине автоподсказки в конструкторе для пропертей создаваемых через new
объектов начинаются не с BaseObject
, а с ActiveRecord
. Причины не понимаю, хотелось бы и для BaseObject
это иметь, но раз не сделали, то возможно был веский повод. Хотя тогда странно, что с Yii::createObject
работает.
@nvlad, запили пожалуйста, как будет время, мы любим твой плагин!
@gvlasov а речь про тот билд что я скинул?
@iglooom Нет, хочется чтобы автор плагина добавил фичи из того билда в основную ветку
Да, тоже хотелось бы, я даже на указанное мыло писал уже ему, но пока без ответа.
@beeryukov теста ради попробуй вот эту версию, я там правил кучку всяких мелочей Yii2 Support-0.10.58.40.zip Это билд из этого PR #270
Большое спасибо, как я устал модели делать вот так $model = new Model(); $model->abc = '';
С этим билдом вновь работает new Model(['...
Спасиииибо!)