Silex添加路由文件与所有路由到控制器

Silex添加路由文件与所有路由到控制器

问题描述:

即时通讯使用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"); 

。任何想法 ?

  1. 延伸的Silex \应用
  2. 附加功能,其与所需的PARAMS

添加基于参数的路由仅

  • 运行的foreach超过元件的阵列实施例

    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');