9

コマンド ラインで次のようなSilex アプリケーションを実行したいと思います。

$app = new Silex\Application(); 

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

$app->run(); 

そのためには、 Symfony の Request Objectを run メソッドの最初のパラメーターとして渡す必要があると思いますが 、Url-Path をどこに設定すれば機能するのかわかりません。何か案は?または、これを行うより良い方法はありますか?

4

2 に答える 2

21

これを行う簡単な方法は次のとおりです。

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

そして、コマンドラインで:

$ php console.php GET /
于 2012-09-07T20:34:55.083 に答える
5

コマンド ラインで silex を使用する場合は、コンソール コンポーネントを使用する必要があります。こちらの silex のチュートリアル: http://beryllium.ca/?p=481

その後、twig (symfony) サービスを呼び出し、アクションを転送することができます!

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

于 2012-09-04T15:18:41.233 に答える