2010-11-18 6 views
1

저는 아약스만을 취급하는 codeigniter 클래스를 가지고 있습니다. refferal이 ajax refferal인지 검사하는이 클래스 내에서 함수를 만들었으므로이 클래스의 모든 함수가 사용될 때마다이 함수를 호출 할 수 있기를 원합니다. 나는 현재 ajaxCheck()에서, __call 마법 방법codeigniter와 함께 __call을 사용하여 도움을

class Ajax_content extends Controller { 

    function __construct() 
    { 
     parent::Controller(); 


    } 

    function __call($method, $arguments){ 

      $this->ajaxCheck(); //set up to return false and exit. 
      call_user_func_array(array($this,"_".$method),$arguments); 

     } 

을 구현했습니다 따라서

항상 falseexit()의를 반환합니다. 하지만 그것은 호출되지 않습니다 (현재 내 아약스 요청은 여전히 ​​데이터를 반환합니다) 이것은 문제를 접근하는 유효한 방법입니까?

답변

5

나는이 수업에서 어떤 기능 에 액세스 할 수없는 메소드를 호출하는 경우에만 실행됩니다

__call

을 사용할 때마다이 함수를 호출 할 수 있어야합니다. 컨트롤러 메서드가 호출 될 때마다 특정 기능이 실행되기를 원한다면 (즉, 웹 요청에 매핑 된 메서드를 의미한다고 가정하고 이 아닌 함수) 에이 기능을 넣어야합니다. 생성자.

+0

그게 아니이 답변이 말씀 : http://stackoverflow.com/questions/3716649/how-to-auto-call-function-in-php-for-every-other-function-call – Ash

+0

하지만 당신은 준 내 길을 가꾸기위한 올바른 대답 ... – Ash

관련 문제