/. 응용 프로그램이 나뭇 가지 서비스에서 얻을 수 있습니다 내 렉스 프로젝트의 또 다른 기능에서 현재 응용 프로그램에서 점점 해결 한 방법은 다음과 같습니다
use \Silex\Application;
use \Symfony\Component\HttpFoundation\Request;
class myController {
private $a;
// Route defined as:
// $app->get('/foo', 'myController::showPage');
public function showPage(Application $a) {
$this->a = $a;
return $this->doAwesome();
}
private function doAwesome() {
$twig = $this->a['twig'];
return $twig->render('awesomePage.twig');
}
}
다음 절약 할 경로에 대한 엔드 포인트의 모든 기능 응용 프로그램이 클래스 속성으로 전달되어 다른 기능을 사용할 수 있습니다. 즉, 모든 기능에서 $this->a = $a;
을 기억해야한다는 의미입니다. t는 doAwesome()
(전에으로 전화합니다. doAwesome()
)을 사용합니다.하지만 그 문제를 해결하는 가장 좋은 방법입니다.
음, 아니요, $ app [ 'twig']에 변수를 저장하려고합니다. 어떻게해야합니까? 나는 개체가 DI를 통해 메서드에 전달되어야한다는 것을 Pimple이 어떻게 알았는지, 아니면 정상적으로 전달되어야하는 일반 매개 변수인지를 정확히 알지 못합니다. – ryanzec
매개 변수를 메서드 호출에 자동으로 전달할 수 없습니다. 그러나 컨트롤러 클래스를 서비스로 정의하고 해당 클래스의 생성자에 나뭇 가지를 삽입 할 수 있습니다. – igorw
나는 이것을 시도했다 : http://pastebin.com/LpuC0cYn : 그러나 그것은 작동하지 않는다. – ryanzec