【问题标题】:Run Silex Application in Command Line在命令行中运行 Silex 应用程序
【发布时间】:2012-09-04 15:04:43
【问题描述】:

我想在命令行中像这样运行Silex Application

$app = new Silex\Application(); 

$app->get('/hello/{name}', function($name) use($app) { 
  return 'Hello '.$app->escape($name); 
}); 

$app->run(); 

我认为为此目的,我必须将Symfony's Request Object 作为第一个参数传递给 run 方法,但我不知道在哪里设置 Url-Path 以使其工作。有任何想法吗?或者有更好的方法吗?

【问题讨论】:

  • 使用 Request::create() 方法创建 Request 对象并将其传递给 run()

标签: php symfony silex


【解决方案1】:

这是一个简单的方法:

list($_, $method, $path) = $argv;
$request = Request::create($path, $method);
$app->run($request);

然后在命令行:

$ php console.php GET /

【讨论】:

    【解决方案2】:

    如果你想在命令行中使用silex,你需要使用Console Component,这里有一个关于silex的教程:http://beryllium.ca/?p=481

    然后你就可以调用一个 twig (symfony) 服务,并转发一个动作!

    http://symfony.com/doc/current/cookbook/console/console_command.html#getting-services-from-the-service-container

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-11
    相关资源
    最近更新 更多