私は Symfony 2.0 を使用しており、サードパーティのライブラリが /vendor にあることを理解しています。私が使用している 2 つのサードパーティ クラスがあります。1 つは TCPDF で、もう 1 つは Paypal クラスです。どちらも正式な Symfony2 バンドルはありません。
だから私はここの指示に従って、それらを名前空間化し、/vendor内で使用できるようにしました:
サードパーティのライブラリを Symfony 2 に追加する
これは機能し、コントローラーからアクセスできます。しかし、それが正しいことかどうか、私は再考しています。私がするたびに..
php bin/vendors install --reinstall
..これらのカスタム クラスは、「deps」に Git リポジトリがないため、消えます。これにより、たとえば PagodaBox にデプロイしようとしたときに、実際の問題が発生しました。このコードは、「サードパーティ」が自分のアプリのコードに近いものであるという強い本能を感じます。
それが本当なら、次のようにすべきです:
- src/MyCompany/MyBundle/Controller/tcpdf.php のコントローラーの隣に座ってください。
- src/MyCompany/MyBundle/DependencyInjection/tcpdf.php にある他のカスタム作成サービスと一緒にいる
- 私のバンドルの下にある独自のディレクトリに移動します: src/MyCompany/MyBundle/TCPDF/tcpdf.php
これら 2 つのクラスを /vendor から上記のいずれかに移動した場合、「use」ステートメントを使用してコントローラーからアクセスしますか、それとも「services.yml」で定義する必要がありますか?
これが議論や意見の問題ではないことを願っていますが、私が見逃したガイダンスや、より経験豊富な Symfony2 開発者が知っていることを知らないベストプラクティスです。
Symfony 2.1 の準備が整う前に Composer に切り替えるのは賢明でしょうか?
読んでくれてありがとう。