1
カスタムphpファイルでsymfonyサービスを呼び出す方法は? サービスはすでにバンドルで作成されています。 このphpスクリプトはコマンドラインから実行されます。助けてください。symfony 3.4サービス
カスタムphpファイルでsymfonyサービスを呼び出す方法は? サービスはすでにバンドルで作成されています。 このphpスクリプトはコマンドラインから実行されます。助けてください。symfony 3.4サービス
説明したようにカスタムPHPファイルを作成するのは良い方法ではありません。通常、サービスはコントローラから呼び出されます。
コマンドラインからいくつかのコードを実行する必要がある場合は、Symfonyコンソールコマンドを使用して、たとえばCronsで非同期タスクを実行できます。
symfonyのドキュメントで説明したように、あなたは、コマンドのコンストラクタに渡す必要があるなど、多くのサービスを渡すことができ、ここであなたが基本的な例を見つけることができます、
use Symfony\Component\Console\Command\Command;
use App\Service\UserManager;
class CreateUserCommand extends Command
{
private $userManager;
public function __construct(UserManager $userManager)
{
$this->userManager = $userManager;
parent::__construct();
}
// ...
protected function execute(InputInterface $input, OutputInterface $output)
{
// ...
$this->userManager->create($input->getArgument('username'));
$output->writeln('User successfully generated!');
}
}
をしてください。このリンクに見てみましょう: https://symfony.com/doc/current/console.html#getting-services-from-the-service-container
このヘルプが必要です。
symfonyのコンソールコマンドを使用できますか?もしそうなら、すべてのSymfonyサービスを利用できるように設定されています。https://symfony.com/doc/3.4/console.html – JimL
カスタムPHPファイルはどういう意味ですか?なぜあなたはContainerAwareInterfaceでSymfonyコンソールコマンドを使用しないのですか? –
https://symfony.com/doc/current/console.html#getting-services-from-the-service-container –