私は2008年からJoomla拡張機能を開発しています。ちょうど今日、Joomlaがコアライブラリ内でComposerとSymfonyフレームワークを使用していることに気付きました。過去に見たことがありますが、二度と考えたことはありません。
私は世界で最も人気のある20を超えるJoomla拡張機能を備えたローカルテストウェブサイトを持っていますどれもコアのSymfonyを使用して、最小のタスクでさえ簡素化します。 Symfonyを使用しているのは1つだけですが、独自のカスタムlibraries
ディレクトリ内に含まれています。だから、私は次の質問があります:
Joomlaは、composerを使用して、追加したライブラリファイルを/ libraries/vendor /に維持しますJoomlaのコンポーザーを使用しないでください独自のcomposerライブラリ。Joomlaのcomposerライブラリも更新する可能性があり、Joomlaが分散バージョンと異なるため、Joomla Webサイトの動作が期待と異なる場合があります。これらのcomposerライブラリは、新しいJoomlaバージョンがリリースされたときにコアメンテナによってのみ更新されます。
はい、独自のJoomla拡張機能でcomposerを使用できます。独自の拡張フォルダにcomposerファイルを追加するだけです。独自の拡張フォルダで、
composer require vendor-name/package-name
そして、composer.jsonファイル、/ vendor/autoload.php、および/ vendor/composer/*内のファイルが作成されます。
拡張機能では、
require __DIR__ . '/vendor/autoload.php';
use \Vendor-name\PackageName;
そのため、composerによって追加されたインクルードライブラリのクラスを使用できます。
このメソッドを使用して、Joomlaプラグインに外部ライブラリを追加しました。 https://github.com/pe7er/plg_content_db8imageresize プラグインで使用したライブラリが破棄されていることに注意してください。ただし、私が使用した方法は引き続き使用できます。