Страница 1 из 15

Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.14, 21:51
mazx
В целях освоения java и для увеличения собственной производительности написал небольшой плагин для PhpStorm.

Ссылки на файлы:
  • renderPartial() и render() внутри виджетов,контроллеров,видов, а так же CAction с авто-переходом сквозь первый использующий контроллер
    widget() - с переходом к классу виджета (класс должен быть внутри приложения)
Плагин добавлен в репозиторий PhpStorm, в категорию Framework integration.

1. Переход на view из controller

Код: Выделить всё

 $this->render('index');
 $this->renderPartial('index'); //Ссылкой будет 'index'
 


2. Переход к классу из relation

Код: Выделить всё

   public function relations() 
   {
        return array(
            'related'      => array( self::BELONGS_TO, 'ModelClass', 'rel_id' ), ///Ссылкой служит имя класса связанной модели. 
        );
   }
 
3. Из контроллеров во внешний действия

Код: Выделить всё

public function actions()
    {
            'jeditable' => array(
                'class' => 'backend.components.actions.JEditableAction',//по клику по этому имени :)
                'modelName' => ucfirst($this->id),
            ),
        );
    }
4. и куча остальных вкусностей

Переход по ссылке выполняется через - CTRL+Click или CTRL+B

Новые версии до выхода в репозиторий можно скачать здесь :arrow: http://mazx.ru
Установка плагина не из репозитория: File -> Settings -> Plugins -> Install From Disk

UPD от 04.04.13
+ Долгожданный (мной) =) менеджер миграций.

Из предыдущих версий:
+ поддержка переходов из контроллеров во внешние действия по имени действия
+ поддержка вложенных в папки контроллеров: например controllers/path/ControllerController.php
+ поддержка тем оформления: Имя темы оформления указывается для всего проекта и используется плагином для получения ссылки на представление:
/<текущий protected>/themes/<имя темы>/views/<имя контроллера>/<значение render()>.php
Имя темы можно быстро менять через шорткат ctr+Y или переопределить его через настройки File-Settings-Keymap-Plugins-YiiStorm-"Yii storm theme name" - ПКМ



UPD от 20.07.13
Новая версия v0.8.1b Скачать можно только с http://mazx.ru , пока не вышла из бета версии.

Наконец нашел момент и добавил функцию автокомплита имен представлений в контроллерах..очень надоедало смотреть что там за имя у вида.
В текущей версии автокомплит запускается только вручную через ctrl+пробел. Планирую добавить "живое" отображение вариантов.
Кроме того поддерживается
абсолютные пути

Код: Выделить всё

$this->render("//controller/view")
отнсительные пути для модулей

Код: Выделить всё

$this->render("/controller/view")


Еще одна добавленная функция это быстрое создание файлов представлений из контроллеров.

Изображение

Достаточно ввести имя отображения и нажать ctrl+пробел, т.е вызвать автокомплит и выбрать предлагаемый пункт.
Представление будет создано в папке представлений контроллера избавляя вас от необходимости ползать туда).

Быстрое создание всегда отображается первым, если нет 100% совпадения с существующими.
Если после предложения вариантов ввести букву, то считается что ведется поиск существующих и быстрое создание представления будет скрыто из вариантов.

Исходники на GitHub

Пробуем, радуемся и\или ругаемся :D

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.14, 23:09
samdark
Офигенски! Работает отлично. Закидывайте в официальный репозиторий JetBrains. Пошёл напишу об этом в блоге...

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.14, 23:15
mazx
Пойду погляжу как это сделать.

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.14, 23:47
samdark

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 00:13
mazx
Круто.
Выложил в репозиторий http://plugins.jetbrains.com/plugin?pr= ... ginId=7182. Пару дней будут проверять.

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 02:11
yujin1st
Отлично. Спасибо за расширение.
Подскажите, возможно ли в расширение добавить обратный переход: из представления в контроллер на соответствующее ему действие (по горячей клавише, например) ? То есть из /views/myModel/doSomething.php к /controllers/MyModelController.php к строчке function actionDoSomething (или туда, где вызывается render с этим представлением).

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 05:16
CeBe
привет!

This is my frist post here. I hope it's okay that I write in english, as I currently don't have russian characters on my keyboard
and I am really bad at creating grammatically correct sentences in russian :)

What I wanted to say on this topic:

Very great work! I have one thing to add. It would be very cool if you could include support for other view file extensions like .tpl for smarty.
Simply not checking for a specific file extension might be enough.

Thanks for creating this plugin!
bests,
CeBe

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 09:15
mazx
yujin1st писал(а):Отлично. Спасибо за расширение.
Подскажите, возможно ли в расширение добавить обратный переход: из представления в контроллер на соответствующее ему действие (по горячей клавише, например) ? То есть из /views/myModel/doSomething.php к /controllers/MyModelController.php к строчке function actionDoSomething (или туда, где вызывается render с этим представлением).
Действительно было бы удобно. Но проблема в том что представление может быть использовано в любом действии :) и имя файла не обязательно соотвествует имени действия.
Но в случае если имя действия и action равны такой переход был бы возможен. Обдумаю это.

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 09:21
XAKEPEHOK
Спасибо! Вот еще очень хотелось бы перехода из виджетов к их представлениям

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 09:22
mazx
CeBe писал(а):
...
It would be very cool if you could include support for other view file extensions like .tpl for smarty.
...
CeBe
Ok. I try to make this. =)

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 13:36
notgosu
Для NetBeans не планируете аналогичный плагин?)

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 13:39
yiijeka
Спасибо большое. Не ожидал, что заработает для не дефолтного webapp :)

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 13:40
AeR
Спасибо !

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 13:46
anton44eg
попробуем, может улучшить жизнь :)

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 15:11
mazx
notgosu писал(а):Для NetBeans не планируете аналогичный плагин?)
Пока не планирую :) Если никто не напишет то к лету возможно реализую, очень много работы на мне.

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 20:18
TBIKC
круто! Спасибо огромное =)

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 22:58
samdark
Для NetBeans уже пишут http://www.nbphpcouncil.org/

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.15, 23:00
notgosu
Sam Dark писал(а):Для NetBeans уже пишут http://www.nbphpcouncil.org/
Отличненько!

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.20, 05:23
yujin1st
Еще небольшое пожелание к плагину: хотелось бы видеть такие же переходы к фильтрам в контроллерах - переход либо к классу, либо к методу, в зависимости от ситуации.

Re: Yii + PhpStorm = YiiStorm

Добавлено: 2013.02.20, 07:21
lancecoder
сегодня у меня выскочил автодетект фреймворка)) пока правда не щупал