CodeIgniter의 모든 컨트롤러 대신 몇 개의 컨트롤러에만 후크를 호출하려면 어떻게해야합니까?Codeigniter의 후크
예 : admin 섹션에 대해서만 후크를 실행하고 싶습니다. 이것을 어떻게 할 수 있습니까?
CodeIgniter의 모든 컨트롤러 대신 몇 개의 컨트롤러에만 후크를 호출하려면 어떻게해야합니까?Codeigniter의 후크
예 : admin 섹션에 대해서만 후크를 실행하고 싶습니다. 이것을 어떻게 할 수 있습니까?
선택적으로 실행하려는 후크에서 $this->ci =& get_instance();
을 사용하여 ci superobject에 액세스 할 수 있습니다. 이것은 $class = $this->ci->router->fetch_class();
을 사용하여 클래스를 결정하기 위해 CodeIgniter 라우터에 액세스하는 데 사용할 수있는 포인터의 역할을합니다. 그런 다음 $class
이 특정 값과 일치하는지 확인할 수 있습니다. 이것은 당신에게 줄 것이다 :
<?php class Post_controller_constructor {
var $ci;
function __construct() {
}
function index()
{
$this->ci =& get_instance();
$class = $this->ci->router->fetch_class();
if($class === 'admin') {
// Hook procedures
}
}
}
/* End of file post_controller_constructor.php */
/* Location: ./application/hooks/post_controller_constructor.php */
당신은 당신의 후크에서 응용 프로그램의 URL을 확인하여 그것을 간단하게 할 수 있습니다
$hook = false;
if(strpos($_SERVER['REQUEST_URI'],"admin/"))
$hook = true;
if($hook) {
// do some hook stuff
}
당신 만의 코드를 실행 후크에 컨트롤러 이름을 얻기 위해 시도 할 수 있습니다 그것이'admin' 일 때. http://ellislab.com/forums/viewthread/62981/#778802 –