CI 묻고 답하기

제목 hook 에러 질문입니다.
카테고리 CI 2, 3
글쓴이 꽈찌쭈 작성시각 2016/09/23 11:11:52
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 22675   RSS

안녕하세요

TIP 게시판

http://codeigniter-kr.org/bbs/view/tip?idx=12902&page=2&view_category=&lists_style=

의 글을 보고 모든 페이지에 로그인여부를 검사를 하려고 하는데요

 

1. Config 설정

$config['enable_hooks'] = TRUE;

 

2. /config/hooks.php

$hook['post_controller_constructor'][] = array(
    'class'     => 'Common',
    'function'  => 'checkPermission',
    'filename'  => 'Common.php',
    'filepath'  => 'hooks',
    'params'    => array()
);

 

3. /hooks/Common.php

class Common {
    function checkPermission() {
        $CI =& get_instance();
        $CI->load->library('session');
        $CI->load->helper('url');
        if(isset($CI->allow) && (is_array($CI->allow) === false OR in_array($CI->router->method, $CI->allow) === false))
        {
            if (!$CI->session->userdata('userid')) // 로그인 여부를 세션을 이용해 체크한다.
            {
                redirect('/manager/auth'); // 로그인창으로 강제 이동
            }
        }
    }
}

 

팁글과 같이 해주었는데요

페이지 접근시에 

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /home1/intranet/public_html/application/config/hooks.php on line 14

라는 에러가 발생합니다.

문법이 잘못되거나 빠진 부분이 없는데 왜 이런 에러가 날까요?;;

에러의 hooks.php 14번 라인은 

'class'     => 'Common',

이 부분 입니다.


첨부파일 error.jpg (25.4 KB)
 다음글 PHPEXCEL관련 질문입니다. (2)
 이전글 [보안]입력, 출력 데이타 가공은 어떻게 하고 계시나요... (1)

댓글

수야디벨 / 2016/09/23 11:36:32 / 추천 0
) 태그가 잘못 쓰여졌거나, 빠졌거나, 더 써졌거나 한다는 뜻인데 정말 문법에 오류가 없나요?
꽈찌쭈 / 2016/09/23 12:58:23 / 추천 0

@수야디벨

네 원래 hook를 안쓰다가 로그인때문에 사용하려고 TIP 게시판의 글 내용에 있던 소스를 고대로 복사해서 사용했습니다

그래서 hooks.php 에 있는 내용은 2번에 있는 내용이 다입니다.

이것저것 테스트 해보니

$hook['post_controller_constructor'][] = array();

이런식으로 썼을때는 에러가 안나오네요.

배열에 내용이 들어갔을때 에러가 나는것 같습니다만...어디가 문제인건지

꽈찌쭈 / 2016/09/23 13:05:06 / 추천 0

좀 더 테스트 해보니 

$hook['post_controller_constructor'][] = array(
    'class' => 'Common', 
    'function' => 'checkPermission', 
    'filename' => 'Common.php', 
    'filepath' => ''
);

filepath키에 값이 들어가면 에러가 나타나네요...코어쪽에도 경로 만들어주는 형태밖에 없는데 뭐가 문제일까요

꽈찌쭈 / 2016/09/23 13:57:03 / 추천 0

자문자답

hooks 쪽에 ?> php 닫는 구문이 결정적인 문제였네요 ㅠㅠ

kaido / 2016/09/23 14:00:15 / 추천 0

PSR-2 규칙의 중요성 이로군요 ㅎㅎ

시간 나시면 PSR-1 번과 2번을 한번 눈여겨 보시면 좋습니다.

https://www.lesstif.com/pages/viewpage.action?pageId=24445325

 

꽈찌쭈 / 2016/09/23 14:37:00 / 추천 0

@kaido

감사합니다. 다시 한번 정독해야겠군요