'initController'에 해당되는 글 1건

  1. 2010.01.01 initController
initController 메소드는 Spac Controller 의 환경을 초기화하는 역할을 합니다.
Spac Controller의 메소드를 상속받아 사용하기 위해선 이 초기화 메소드를 반드시 호출해야 합니다.

Spac 에서는 사용자가 작성한 모델클래스에서 Controller 를 확장하여 사용하는 경우에 이 초기화 메소드를 자동으로 호출하도록 구성되어 있으므로 사용자가 별도로 이 초기화 메소드를 호출할 필요는 없습니다.

다만, Spac 에서 initController 를 자동으로 호출하는 시점은 사용자 모델클래스의 생성자가 호출 된 이후의 시점이므로 모델클래스의 생성자 안에서 Spac Controller의 내부 매소드를 상속받아 사용하고자 하는경우에는 직접 initController 를 호출해야 합니다.

1. Spac 이 자동으로 initController 를 호출한 후에 사용하는 예제
class MyClass extends Controller {

    function MyClass () {}

    function initMyClass() {
       $this->getControllerInstance("MyExtClass");
    }

    function execute() {
       $this->initMyClass();

       //이하 사용자 프로그램 구성

    }

}


위 예제에서는 "getControllerInstance" 를 사용하였습니다.
이 메소드는 Spac Controller의 에서 상속받은 메소드입니다.
위 처럼 MyClass 생성자에서 사용하지 않는 경우에는 Controller 의 초기화 메소드인 initController 를 호출하지 않아도 Spac Controller 에서 자동으로 초기화를 수행해 줍니다.


2. 사용자의 모델클래스 생성자안에서 Spac Controller 의 메소드를 사용할 경우
class MyClass extends Controller {

    function MyClass () {
       $this->initController();
       $this->getControllerInstance("MyExtClass");
    }

    function execute() {

       //이하 사용자 프로그램 구성

    }

}

위처럼 사용자 모델클래스인 MyClass 의 생성자인 "MyClass" 내부에서 getControllerInstance 를 사용하고 자 할 경우에는 먼저 initController를 호출해야 합니다.

Posted by webdata