2016-11-08 6 views
-2

im silexを使用してAPI RESTを作成します。 は一例では、私は私のアプリ起動ファイル上のすべてのルートを持つ配列をinlcudeし、作成する方法と、インスタンスを探してルートSilexはコントローラへのすべてのルートを含むルーティングファイルを追加します

$api = $this->app["controllers_factory"]; 
$api->get('/notes', "notes.controller:getAll"); 
$api->get('/notes/{id}', "notes.controller:getOne"); 
$api->post('/notes', "notes.controller:save"); 
$api->put('/notes/{id}', "notes.controller:update"); 
$api->delete('/notes/{id}', "notes.controller:delete"); 

イムを作成する方法を発見しました。何か案が ?

答えて

0
  1. サイレックス\アプリケーションを

    use Silex\Application as SilexApplication; 
    
    class Application extends SilexApplication 
    { 
        public function addRoute($method, $route, $class, $callback) 
        { 
         $this->$method($route, array($class, $callback)); 
        } 
    
        public function addRouteStatic($method, $route, $callback) 
        { 
         $this->$method($route, $callback); 
        } 
    
        public function addRoutes($routes) 
        { 
         foreach ($routes as $route) { 
          $this->addRoute(
           $route['method'], 
           $route['route'], 
           $route['class'], 
           $route['callback'] 
          ); 
         } 
        } 
    } 
    
    $app = new Application(); 
    $app->addRoute('get', '/notes', 'My\Namespace\Note', 'getAllNotes'); 
    $app->addRouteStatic('get', '/notes', 'My\Namespace\Note::getAllNotesStatic'); 
    
    例必要なparamsは

のみ

  • ランのforeach要素のアレイ上のパラメータに基づいてルートを追加
  • 追加機能を拡張
  • 関連する問題