みなさんこんにちは。
Symfony 2でプログラムを作成するすべての人は、サードパーティのバンドルファイルをオーバーライドする必要がある状況に直面しています。 小枝テンプレート、コントローラー、または翻訳ファイルのいずれであっても。
カスタマイズするバンドルに少なくとも何らかの種類の複雑なファイル添付システムがある場合、それらを再定義することはあまりおもしろいタスクではありません。
例えば?Sylius eコマースプロジェクトは、たとえば、製品表示テンプレート/vendor/sylius/sylius/src/Sylius/Bundle/WebBundle/Resources/views/Frontend/Product/show.html.twigをオーバーライドするために、全体を作成する必要があることを示すことができます。フォルダー階層アプリ/リソース/ SyliusWebBundle / views / Frontend / Product 、そこにshow.html.twigファイルを配置するため。
実際、この操作を自動化するために、Sublime Text 3のプラグインが生まれました。これをSymfony2開発者と共有したいと思います。
特徴
プラグインは、
Ctrl + Shift + Oを押した後、
vendorsフォルダー内のバンドルから
srcフォルダーから選択したバンドルに現在のアクティブファイルをコピーできます
。現在、テンプレート、翻訳、PHPファイル、Resources / publicフォルダーからのファイルのコピーがサポートされています。 テンプレートと翻訳は、バンドルと
アプリディレクトリの適切な場所にコピーできます。
制限事項
-現時点では、プラグインはPSR-0標準に従って設計され、
ベンダーフォルダーにあるライブラリのファイルでのみ機能します。
-UbuntuのSublime Text 3でのみテスト。
-
プラグインはまだPackageControl.ioに受け入れられていないので、手でそれを置く必要があります(指示があります)はすでに受け入れられています。SublimeText 3から直接
インストールできます。
計画
-PSR-4標準に従ってフォーマットされたバンドルのサポート。
-フォルダーの再帰的な再定義。
-
コピーされたファイル内の正しい名前空間の自動置換はすでに実装されています。
-そして
もう一つ 。
ハブで公開したのはなぜですか?
痛みを伴う問題があります(私だけでなく?)そして、その解決策を共有したいと思います。
ご清聴ありがとうございました。
フィードバック、アドバイス、プールリクエストなど、あらゆる対応に喜んで対応いたします。
参照資料-
パッケージコントロールのプラグイン 。
-github.comのプラグインコード。
-TODO.md。UPD:
この記事がサンドボックスに公開されて以来、プラグインは
packagecontrol.ioで採用され、継承されたphpファイルに新しい名前空間を記述し、古いクラスから継承する方法を学びました。