- PVSM.RU - https://www.pvsm.ru -

Sublime Text 3 плагин «Symfony2 Override» для быстрого переопределения части бандлов

Всем привет.

Каждый, кто программирует на Symfony 2, сталкивался с ситуацией, когда надо переопределить какой-то файл стороннего бандла. Будь то Twig-шаблон, контроллер или файл с переводом.

Если бандл, который вы кастомизируете имеет хоть сколь-нибудь сложную систему вложенности файлов, то их переопределение становится не очень занимательной задачей.

Например?

Показательным может быть e-commerce проект Sylius, в котором для переопределения, скажем, шаблона отображения продукта /vendor/sylius/sylius/src/Sylius/Bundle/WebBundle/Resources/views/Frontend/Product/show.html.twig придется создавать целую иерархию папок app/Resources/SyliusWebBundle/views/Frontend/Product вручную, чтобы в итоге положить туда файл show.html.twig.

Собственно, с целью автоматизации данной операции родился плагин для Sublime Text 3, которым я хочу поделиться с Symfony2-разработчиками.

Возможности

Плагин умеет копировать текущий активный файл из бандла в папке vendors в выбранный бандл из папки src после нажатия Ctrl+Alt+.

На данный момент поддерживается копирование шаблонов, переводов, php-файлов. Шаблоны и переводы могут быть скопированы как в бандл, так в соответствующее место директории app.

Ограничения

— на данный момент плагин может работать только с файлами из библиотек оформленных по стандарту PSR-0 и находящихся в папке vendor;
— тестировался только в Sublime Text 3 под Ubuntu;
— плагин еще не принят в PackageControl.io, потому придется ставить руками (инструкция есть [1]).

Планы

— Поддержка бандлов, оформленных по стандарту PSR-4;
— Рекурсивное переопределение папок;
— Автоматическая подстановка правильного namespace в скопированный файл;
— И другое [2].

Для чего я сделал публикацию на хабре?

Есть наболевшая (не только для меня, правда же?) проблема и я хочу поделиться ее решением, которое уже может кому-то пригодиться.

Спасибо за внимание.
Буду рад любому отклику — отзыв, совет, пул-реквест.

Ссылки
— Код плагина на github.com [3]
TODO.md [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/pesochnitsa/88048

Ссылки в тексте:

[1] есть: https://github.com/igormukhingmailcom/sublimetext3-symfony2-override-package#manual

[2] другое: https://github.com/igormukhingmailcom/sublimetext3-symfony2-override-package/blob/master/TODO.md

[3] github.com: https://github.com/igormukhingmailcom/sublimetext3-symfony2-override-package