我正在开发一个充当 API 的应用程序。我已经实现了一个 POST 方法,用于将记录添加到应用程序中的表中。
我还有一个每天运行的命令 - 有没有办法从我的命令内部调用我的 POST API 方法?或者我只是通过应用程序 URL 调用它?
我使用的是 Symfony 3.4.6。
感谢任何建议。
您可以使用 Symfony
kernel
来执行 HTTP 请求。
您可以使用控制台的相同内核,或创建一个新内核(如果必须更改环境)。
use App\Kernel;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\HttpKernelInterface;
$kernel = new Kernel('prod', false);
$request = Request::create('/toto', 'GET');
$response = $kernel->handle($request, HttpKernelInterface::MASTER_REQUEST, false);
die($response->getContent());
(使用 Symfony 5 测试)。
您可以实现 symfony/console 组件: https://symfony.com/doc/current/components/console.html https://symfony.com/doc/current/console.html