私はSymfony2の初心者です。私は自分のカスタムプロジェクト間関数(例えば、array_merge_overwrite
、array_last
、など)に含めるべき箇所を理解できませんか?私はweb(MVC)とconsole(extend ContainerAwareCommand
)の両方のタイプのアプリを使用しています。ユーザカスタム関数を組み込むsymfony2のベストプラクティス
これには別の「正しい方法」がありますか?
私はSymfony2の初心者です。私は自分のカスタムプロジェクト間関数(例えば、array_merge_overwrite
、array_last
、など)に含めるべき箇所を理解できませんか?私はweb(MVC)とconsole(extend ContainerAwareCommand
)の両方のタイプのアプリを使用しています。ユーザカスタム関数を組み込むsymfony2のベストプラクティス
これには別の「正しい方法」がありますか?
serviceを作成し、共通の機能を追加してください。たとえば、ArrayService
という名前を付けて、コンテナ内にarray.service
という名前で登録できます。あなたは同じ機能が必要な場合
$element = $this->get('array.service')->last($array); // or ->arrayLast($array)
:あなたがそのように
$this->getContainer()->get('array.service');
経由
$this->get('array.service');
とコマンドから経由してコントローラからこのサービスにアクセスすることができ、あなたのコードは次のようになりますそのサービスとバンドルを作り、それを各プロジェクトのdeps
ファイルに追加します。その後、bin/vendors install
スクリプトを実行するとインストールされます。
関数をいくつかのクラスの静的メソッドに変換して、オートロード可能にすることができます。または...よく...あなたがどこにいても必要な場所に置いてください。
私が正しく理解していれば、Symfonyは問題の解決法を提供しません。私は**必要な**すべての方法/スクリプトを使用する必要があります。私はSymfonyを使用します。 – MingalevME
@MingalevMEはい、2011年に手続き型プログラミングを続けている場合は、OOPに切り替えてみてください。 –
似たような質問[Symfony2 global functions](http://stackoverflow.com/questions/10336401/symfony2-global-functions) –