从CLI调用控制器的操作

时间:2016-01-18 14:43:34

标签: php symfony

我想从命令行调用控制器的操作 - 我该怎么做?

我知道内置了整个控制台组件,但我的应用程序只是一个很大的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

1 个答案:

答案 0 :(得分:0)

如果您不想使用命令,并且您的应用程序是一个大API,请按照从其他api客户端调用的方式(通过url)调用它:

 wget http://yourdomain.com/route_path/to_controller/action -O /dev/null