Command
で実行されている Web アプリの を書いていSymfony 2
ます。CommandClass
には set 構造があり、2 つの set メソッド ( configure
& execute
) と任意のユーザー定義関数を使用して として実装する必要があります。
Java でインスタンス変数が機能するのと同じように、すべての関数にアクセスできる定義済みの変数がいくつか必要です。これをPHPで実装するにはどうすればよいですか?
Command
で実行されている Web アプリの を書いていSymfony 2
ます。CommandClass
には set 構造があり、2 つの set メソッド ( configure
& execute
) と任意のユーザー定義関数を使用して として実装する必要があります。
Java でインスタンス変数が機能するのと同じように、すべての関数にアクセスできる定義済みの変数がいくつか必要です。これをPHPで実装するにはどうすればよいですか?
これは、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')
このようにして、コンテナーにアクセスできる限り、アプリケーション内の任意の「サービス」からこれらのパラメーターにアクセスできます。コンテナ全体を注入するとパフォーマンスの面でコストがかかり、テストが難しくなるため、推奨されるパラメーターのみを注入することもできます。