我想从命令行调用控制器的操作 - 我该怎么做?
我知道内置了整个控制台组件,但我的应用程序只是一个很大的API,我没有看到将http和cli请求分离到不同文件夹的重点。我在控制器内创建了部门,我希望将整个控制器代码保存在一个地方:
<?php
namespace AppBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\JsonResponse;
class DefaultController extends Controller
{
protected function setPermissions()
{
$this -> permissions = array(
'indexAction' => array('authentication' => 1, 'requestType' => array('http', 'cli'))
);
}
/**
* @Route("/", name="homepage")
*/
public function indexAction(Request $request) : JsonResponse
{
return new JsonResponse(array('aaa'));
}
}
如何通过命令行从此示例中调用DefaultController :: indexAction
?
答案 0 :(得分:0)
如果您不想使用命令,并且您的应用程序是一个大API,请按照从其他api客户端调用的方式(通过url)调用它:
wget http://yourdomain.com/route_path/to_controller/action -O /dev/null