2012-04-26 7 views
1

すべてのモデルクラス(プロジェクトフォルダとプラグインフォルダ内)で関数を使用したいと思います。symfony関数はすべてのモデルで利用可能

どこで宣言すればよいですか?

+0

可能ですか、あなたはこの質問をすでに今日聞いていますか? http://symfony.com/doc/current/book/service_container.html – KingCrunch

+1

エンティティクラスのヘルパー機能または実際の動作? – yitznewton

答えて

3

機能によっては、libフォルダにファイルを作成し、アプリ内のすべての場所からファイルを呼び出すことができます。これはSymfonyプロジェクトで一般的な機能(ツールボックスなど)を定義するのに便利です。例えば

the Jobeet tutorialに、彼らは(symfonyは自動的にロードされますので、最後に.class.phpとファイル名を指定してください)/lib/Jobeet.class.phpslugifyと呼ばれるメソッドを定義します。次に、あなたのアプリケーション/モデル/プラグイン/ビュー内のどこにでもJobeet::slugify()を呼び出すことができます。

-4

このソリューションはsymfony 1.4で動作します:あなたは、あなたがどこでも利用できるようにしたい関数を宣言した新しいファイルを作成

正常に実行された場合、その機能はモデル、プラグイン、またはプロジェクトの何かに関係なく、すべてのスクリプトで使用できます。

+3

ディレクトリごとに 'auto_prepend_file'を使うのが最適です。それ以外の場合は、 'php.ini'を使用するすべてのサイトに含まれます。それにかかわらず、このような外部の依存関係を作成するのが正しいかどうかはわかりません。 symfony 1.4には '/ lib'ディレクトリがあります。 – webbiedave

+1

-1ええ、@ webbiedaveの最後の文に同意しなければなりません。このためにphp.ini設定を使用すると、プロジェクトに精通していない開発者、特にsymfonyが既にそれを達成するための仕組みを提供している場合には、予想外のことになります。 –

+0

@Phoenix:それが動作すれば動作します。これは最高の答えですが、技術的には正しいです。ディレクトリごとの設定は、php.iniごとに利用できます - user iniを参照してください。 – hakre

関連する問題