2016-12-12 5 views
0

버전 2로 업데이트하는 것 외에도 Silex 1.2를 사용하는 프로젝트가 있습니다. 그러나 컨트롤러에 동적으로 경로를 마운트하는 것이 더 이상 작동하지 않습니다. 내 새 경로가 저장되지 않습니다.Silex 2 - 어떻게 입을 동적 경로? Silex 버전 1에서와 마찬가지로

// routing.php 
$app->get('/', 'App\\Controllers\\App::main')->bind('app_main'); 

// App.php 
class App { 
    function main(Application $app, Request $request) { 
     $name = 'basic'; 
     $version = 1; 

     $moduleClass = 'App\Core\Modules\\'.$name.'\v'.$version.'\\ControllerProvider'; 
     $app->mount($request->getPathInfo(), new $moduleClass($name, $version)); 

     $subRequest = Request::create(
      $app['url_generator']->generate('basic_1'), 
      'POST' 
     ); 

     return $app->handle($subRequest, HttpKernelInterface::SUB_REQUEST, false); 
    } 
} 

그리고 새로운 경로, 렉스 1.2이 코드가 작동을 찾을 수없는 내 응용 프로그램 ... 난 버전 2. 당신은 flush 컨트롤러 컬렉션에 필요

+0

귀하의 클래스 이름을'Routing'는'앱 \\ 컨트롤러 \\ 라우팅 :: main' 같은 경로 컨트롤러 안된다? – martin

+0

예, 죄송합니다. 제 예제에서는 오류입니다. – Romain

답변

1

에 변경된 내용을 찾을 수 없습니다. 당신 mount 그 후,이 호출이다

$app->flush(); 
+1

그래, 작동! 감사 !!! – Romain