2012-09-04 10 views
8

mi piacerebbe correre un Silex Application come questo in linea di comando:Run Silex Applicazione in riga di comando

$app = new Silex\Application(); 

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

$app->run(); 

Penso a tal fine, avrei dovuto passare Symfony's Request Object come primo parametro al metodo run , ma non ne ho idea, dove impostare l'Url-Path per farlo funzionare. Qualche idea? O c'è un modo migliore per farlo?

+0

richiesta per l'utilizzo :: create() per creare l'oggetto Request e passalo in esecuzione() – gunnx

risposta

19

Ecco un modo semplice per farlo:

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

E poi sulla riga di comando:

$ php console.php GET/
+1

grazie, semplice e funzionale :) – kertal

+1

Dai un'occhiata a https: // github.com/Cilex/Cilex – addex03

5

Se si desidera utilizzare selce in una riga di comando, è necessario utilizzare il Console Component, qui un tutorial per silex: http://beryllium.ca/?p=481

Poi si è in grado di chiamare un ramoscello di servizio (symfony), e di inviare un azione!

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

+0

Grazie, uso già il componente della console. lo ha creato con questo tutorial. la domanda è, come ottengo il risultato da, ad es. '/ ciao/sybio', dal percorso di registrazione che ho registrato? – kertal

+0

run() lo invia alla console. – igorw

+3

Versione Webarchive del tutorial: https://web.archive.org/web/20121108160050/http://beryllium.ca/?p=481 –

Problemi correlati