2016-08-24 4 views
0

私はPhalconでRest Apiを作成しようとしています。主な質問は、別のコントローラでBaseControllerを使用する方法です(ログインしたユーザの翻訳や情報を簡単に取得したり、ユーザがBaseコントローラにログインしているかどうかを確認するのに便利です)。Phalcon Rest Api

私はそれが

$posts = new Collection(); 
$posts->setHandler(new PostController()); 
$posts->setPrefix('/posts'); 
$posts->get('/show/{id}', 'show'); 
$app->mount($posts); 

$index = new Collection(); 
$index->setHandler(new IndexController()); 
$index->setPrefix('/index'); 
$index->post('/someurl'); 
$index->mount($index); 

のPostControllerとIndexControllerがBaseControllerを拡張するような何かをするとき。しかし、 "/ index/someurl"などのURLを取得すると、BaseControllerが動作することがわかります。

setHandlerの前にurlを解析して、コレクションをURLとパラメータに依存するようにする方法はありますか?あるいは、コードを整理する別の方法があります。ありがとう。どのように

+1

から延びているが、 '$ index->​​($インデックス)をマウントです。 'タイプミス?それは '$ app-> mount($ index);ではないでしょうか? – Timothy

答えて

0

$posts->setHandler('PostController', true); $index->setHandler('IndexController', true);

+0

ありがとう、しかし私は別の方法を見つける。それは有効かどうかはわかりませんが、動作し、何百行ものルーティングがありません $ app-> get( '/ {from:[a-zA-Z \ - ] +}/{act:[ (コントローラからの)$ controller = new $ controllerName; $ controller - > $ act(); $ controller - > $ act(); }); –

+0

これは無効です:D – Juri