1

Commandで実行されている Web アプリの を書いていSymfony 2ます。CommandClassには set 構造があり、2 つの set メソッド ( configure& execute) と任意のユーザー定義関数を使用して として実装する必要があります。

Java でインスタンス変数が機能するのと同じように、すべての関数にアクセスできる定義済みの変数がいくつか必要です。これをPHPで実装するにはどうすればよいですか?

4

1 に答える 1

2

これは、DependencyInjectionコンポーネントを使用して機能します。DIはあなたが探しているものです!

拡張するとsymfony2標準を使用する場合-symfonyContainerAwareCommandはコンテナを自動的に注入します...

use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;

class MyCommand extends ContainerAwareCommand

.. parameters.yml または config.yml で container-parameters を設定します

parameters:
    my_parameter: my_value

次に、を使用してコンテナパラメータにアクセスします

 $this->container->getParameter('my_parameter')

このようにして、コンテナーにアクセスできる限り、アプリケーション内の任意の「サービス」からこれらのパラメーターにアクセスできます。コンテナ全体を注入するとパフォーマンスの面でコストがかかり、テストが難しくなるため、推奨されるパラメーターのみを注入することもできます。

于 2013-06-16T18:17:08.400 に答える