Symfony 3.4 Service - PHP, Symfony

Wie man symfony Service in der kundenspezifischen php Datei anruft? Service bereits im Bundle erstellt Dieses PHP-Skript wird über die Befehlszeile ausgeführt. Bitte helfen Sie.

Antworten:

2 für die Antwort № 1

Erstellen Sie eine benutzerdefinierte PHP-Datei, wie Sie beschrieben haben, ist keine gute Praxis, in der Regel werden Dienste von einem Controller aufgerufen.

Wenn Sie einen Code von der Befehlszeile ausgeführt werden müssen, können Sie die Symfony Konsolenbefehle verwenden, die Sie asynchrone Aufgaben mit Crons ausführen kann, zum Beispiel.

Wie in den Symfony-Dokumenten beschrieben, können Sie so viele Dienste übergeben, wie Sie an den Befehlskonstruktor übergeben müssen. Hier finden Sie ein einfaches Beispiel:

use SymfonyComponentConsoleCommandCommand;
use AppServiceUserManager;

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!");
}
}

Bitte schauen Sie in diesen Link: https://symfony.com/doc/current/console.html#getting-services-from-the-service-container

Ich hoffe das hilft!


Speisekarte