如何从Symfony中的命令中调用控制器操作?

时间:2018-04-11 17:09:12

标签: php symfony post

我正在开发一个用作API的应用程序。我已经实现了一个POST方法,用于将记录添加到应用程序中的表。

我还有一个每天运行的命令 - 有没有办法在我的命令内部调用我的POST API方法?或者我只是通过应用程序URL调用它?

我使用的是Symfony 3.4.6。

感谢任何建议。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您可以使用Symfony kernel执行HTTP请求。

您可以使用控制台的同一内核,也可以创建一个新的内核(如果必须更改环境)。

use App\Kernel;
use Symfony\Component\HttpFoundation\Request;

kernel = new Kernel('prod', false);
$request = Request::create('/toto', 'GET');
$response = $kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, false);

die($response->getContent());

(已通过Symfony 5测试)。