| 제목 | hook 사용관련... 왜 나만 안되는듯... | ||
|---|---|---|---|
| 글쓴이 | davincl | 작성시각 | 2014/08/28 17:11:20 | 
|  | |||
| 버전 문제인지는 잘 모르겟으나.. 현재 다른 분들 hook 사용 할때 
class memberSet {
	function memberLoad(){
		$CI =& get_instance();
		$CI->load->library('session');
	}
}
이렇게 하면 되어야 하는데 왜 ? 전 Call to a member function library() on a non-object in .../member.php on line 5 이런 에러 메시지만 출력되네요.. 어떻게 해야 하는거죠.. 고수님덜~ 부탁합니다~ | |||
| 다음글 | 트랜잭션 처리 완벽모드 (trans_strict) 설정... (4) | ||
| 이전글 | 오라클 oci8_driver.php파일에서 $_esca... (6) | ||
| 
                                한대승(불의회상)
                                /
                                2014/08/28 17:45:09 /
                                추천
                                0
                             | 
| 
                                davincl
                                /
                                2014/08/28 17:56:14 /
                                추천
                                0
                             
                                불의회상님 말씀대로 hook/member.php 로 변경하고 소스도 
class Member {
 function memberLoad(){
  $CI =& get_instance();
  $CI->load->library('session');
 }
}변경했는데 동일하게 문제가 발생됩니다.hook 파일 로드 부분은 아래와 같습니다. 
$hook['pre_controller'] = array(
                                'class'    => 'member',
                                'function' => 'memberLoad',
                                'filename' => 'member.php',
                                'filepath' => 'hooks',
                                'params'   => array()
                                ); | 
| 
                                변종원(웅파)
                                /
                                2014/08/28 18:21:10 /
                                추천
                                0
                             
                                hook/member.php <-- 오타이신거죠? hooks 이어야 하구요. 'class' => 'Member' 로 변경해보세요. | 
| 
                                davincl
                                /
                                2014/08/28 18:38:41 /
                                추천
                                0
                             
                                웅파님 말씀대로 오타는 맞아요^_^;;; 웅파님 말씀대로 Member로 변경을 했는데도 안되네요.. 클래스랑 함수까지는 잘 불러 왔는걸로 확인 해보았습니다. /application/hooks/member.php 
<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
class Member {
 function memberload(){
  echo "a";
//  $CI =& get_instance();
///  $CI->load->library('session');
 }
}
?>위와 같이 하니 a는 출력이 됩니다. 그러나 .. CI라이브러리를 사용할려면 없다고 나오네요.. | 
| 
                                기루님
                                /
                                2014/08/29 10:15:40 /
                                추천
                                0
                             
                                extends ???????????
                             | 
| 
                                들국화
                                /
                                2014/08/29 11:58:39 /
                                추천
                                0
                             
                                hook 설정 부분에 클래스 명이 Member로 대문자로 되어야 할것 같구요. 그래도 안된다면 훅시점이 문제가 아닌가 합니다. pre_controller_constructor 를 써보세요. 라이브러리를 로드할때 문제가 있는것 같네요. session이니 오토로드에 넣어도 문제가 없어 보입니다. http://stackoverflow.com/questions/22805828/pre-controller-hook-does-not-load-base-classes-like-docs-state | 
| 
                                davincl
                                /
                                2014/08/29 12:56:20 /
                                추천
                                0
                             
                                들국화님이 알려주신 링크를 타고 가니 해결책이 나와있었네요.. /system/core/Codelgniter.php 파일의 308번째줄을 훅 로드 부분위로 올리니깐 해결이 되네요~ 댓글 달아주신 모든 분들 감사합니다! | 
파일명이 member.php 면 class 이름은 Member 로 선언해야 합니다.