Symfony 1.4에 기본 컨트롤러 (기본 actions.php 파일)가있는 상황이 있습니다. 동일한 모듈에 대해 기본 컨트롤러를 확장하는 다른 컨트롤러를 만들고 싶습니다.symfony 1.4 모듈에 대해 여러 컨트롤러를 사용할 수 있습니까?
URL의 ID를 기반으로 식별되는 특정 방문자의 동작을 사용자 정의하고 싶기 때문에 기본 제어기를 확장해야합니다.
힌트가 있습니까?
Symfony 1.4에 기본 컨트롤러 (기본 actions.php 파일)가있는 상황이 있습니다. 동일한 모듈에 대해 기본 컨트롤러를 확장하는 다른 컨트롤러를 만들고 싶습니다.symfony 1.4 모듈에 대해 여러 컨트롤러를 사용할 수 있습니까?
URL의 ID를 기반으로 식별되는 특정 방문자의 동작을 사용자 정의하고 싶기 때문에 기본 제어기를 확장해야합니다.
힌트가 있습니까?
동일한 모듈에 대한 또 다른 컨트롤러 클래스 인 저는 심포니에서는 불가능하다고 생각합니다.
가장 쉬운 해결책은 동일한 클래스에서 다른 메소드를 만든 다음 기본 메소드에서 인보 크 (invoque)하는 것입니다. 예함으로써
: actions.class.php :
public function executeBaseAction(sfWebRequest $request) {
.. if($user....) then return $this->executeCustomAction($request);
}
public function executeCustomAction(sfWebRequest $request) {
// $this->setTemplate('anotherTemplate?');
}
는 실제로 같은 모듈에 대해 다른 컨트롤러 클래스를 추가 할 수 있습니다.
당신은 이런 방식으로 작업 디렉토리에 여러 파일을 포함 할 수있다 :
이 action2Action.class에서 템플릿 action1Success.php
를 사용합니다
class action1Action extends sfAction
{
public function execute($request) {
//Your code here
}
}
action1Action.class.php
에서. PHPclass action2Action extends sfAction
{
public function execute($request) {
//Your code here
}
}
이렇게하면 action2Success.ph 템플릿이 사용됩니다. p
그게 바로 지금하고있는 일입니다. 상속 등으로 더 우아한 솔루션을 원했습니다 ... 어쨌든 고마워요! –
Nop. Symfony는 actions 폴더에있는 actions.class.php 파일을 검색합니다. 그리고 해당 클래스 이름은 "module_folder_name"조치와 일치해야합니다. – glerendegui