私は知っておきたいsymfony2にサード・パーティーのphpファイルを含める最良の方法は何ですか? symfony2アプリケーションでファイルをアップロードするために、別のphp-ajaxパッケージを使用しています。このパッケージは私のsymfonyコントローラで使う必要があるphp oopsコードを提供しています。私は私のコントローラにそのコードのオブジェクトを作成しています。だから私はそのサードパーティ製のコードやファイルをどこに置くことができるのか知りたいのですが、symfony2コントローラにそのコードのオブジェクトを組み込む方法や作成する方法はありますか? symfony2でもrequireまたはincludeを使用していますか?もしそうなら唯一のアプローチです。ベスト・アプローチSymfony2にサード・パーティー・ファイルを含めるには
答えて
サードパーティ製のライブラリに名前空間を追加しようとしているとは確信していません。たとえば、Twigは名前空間を使用しません。そして本当に必要はありません。たとえば、Zend_Framework 1ライブラリのPDFコンポーネントを使用する場合を考えてみましょう。あなたのようなものだろうあなたのアプリ/ autoload.phpファイルで
:この時点で
$loader->registerPrefixes(array(
'Twig_Extensions_' => $ws . 'Symfony/vendor/twig-extensions/lib',
'Twig_' => $ws . 'Symfony/vendor/twig/lib',
'Zend_' => $ws . 'ZendFramework-1.0.0/library',
));
// And since Zend internally uses require/include we need to set an include path
ini_set('include_path','.' .
PATH_SEPARATOR . $ws . 'ZendFramework-1.0.0/library'
);
を我々はオートロードシステムが見つけるの世話をさせながら、コントローラの内部の第三の部分のオブジェクトを作成することができるはずと
$page = new \Zend_Pdf_Page(\Zend_Pdf_Page::SIZE_A4);
$doc->pages[] = $page;
$font1 = \Zend_Pdf_Font::fontWithName(\Zend_Pdf_Font::FONT_HELVETICA);
$font2 = \Zend_Pdf_Font::fontWithName(\Zend_Pdf_Font::FONT_COURIER_BOLD);
名前空間の不足を回避するには、\を使用する必要があります。
この回答は、第3部ライブラリが多かれ少なかれ標準的なクラス命名規則に従っていると仮定しています。自動ロード機能を持っている場合は、autolaod.phpから呼び出してください。オートローディングをまったく使用したくない場合は、インクルードパスを設定して離れてください。
The documentationが詳細にディレクトリ構造を説明します。
基本的にはどこにでも置くことができますが、一貫性とベストプラクティスのために、サードパーティライブラリをvendor/
ディレクトリに配置する必要があります。
関連するファイルを名前空間に含めることができます。
偉大な答え!私はこの状況をしばらく前にして、これをまったく同じように解決しました... –
@Hakan Deryal。ご回答いただきありがとうございます。ベンダの第三者としてフォルダを作成し、thirdpartyファイルをベンダ/ thirdparty/myfile.phpに配置して、どうすればAcme Bundleに含めることができますか教えてください。 – ScoRpion
サードパーティアプリケーションは名前空間を使用していますか?あなたは、これはそれを行うための正しい方法は「....名前空間」のようなファイルの先頭に行を –
- 1. WatiNのベスト・オートメーション・アプローチとは
- 2. データセットのメディアンのためのアクセスにおけるベストVBAアプローチ
- 3. Azure WebJobのベスト・アプローチ
- 4. ベスト・アプローチ:Githubでポッド・ファイルを同期するのは良いアプローチですか?
- 5. レールでファイルをアップロードする - ベストなアプローチは何ですか
- 6. Symfony2にベンダー資産を含める
- 7. 正規分布ベスト・アプローチ
- 8. ASP.NET CoreとAngular2のベスト・アプローチ
- 9. Objective Cのベスト・マルチスレッド化アプローチ?
- 10. 認可ルールのベスト・アプローチ
- 11. ASP.NET MVC4 n-Tierアーキテクチャ:ベスト・アプローチ
- 12. UWP PDFベストのアプローチを作成する
- 13. .hlslファイルにファイルを含めるには?
- 14. struts2でセッションを取得するための推奨されるベスト・アプローチは?
- 15. ゲームのLANパーティーのためのリモートビューアを作成するには?
- 16. $ .eachをネイティブのjavascriptに変換する - ベスト・アプローチ
- 17. Webサーバーにドキュメントを保存する - ベスト・アプローチ
- 18. ベスト/最速アプローチcsvファイルからOracleデータベースにClobデータを挿入します。
- 19. Android BackupManagerと私のアプリケーションdb:ベスト・アプローチ
- 20. パースのような機能のベスト・アプローチ
- 21. ベスト・アプローチ:MVCの複数のコンテンツ・プレース・ホールダー
- 22. Sitecore(ベスト・アプローチ)のニュース記事一覧
- 23. ファイルに含めるファイル
- 24. icarus verilogにファイルを含めるには?
- 25. MakoにCSSファイルを含めるには?
- 26. codeigniterにcssファイルを含めるには
- 27. ivy.xmlにファイルを含めるには?
- 28. wxsにwxiファイルを含めるには?
- 29. Codeigniterにファイルを含めるには?
- 30. xsltにjavaScriptファイルを含めるには
を探してそれを確認することができます。ライブラリが命名規則に従わない場合は、作者([repo](https://github.com/composer/composer)、[symfony](https://github.com/symfony/symfony) -標準))。これは、任意のライブラリのマッピングを可能にし、慣例に従わないライブラリであっても自動ロードを可能にします。 – gilden