在命令行中运行Silex应用程序

时间:2012-09-04 15:04:43

标签: php symfony silex

我想在命令行中运行这样的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以使其工作。有任何想法吗?或者有更好的方法吗?

2 个答案:

答案 0 :(得分:20)

这是一个简单的方法:

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

然后在命令行上:

$ php console.php GET /

答案 1 :(得分:5)

如果要在命令行中使用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