CI 묻고 답하기

제목 컨트롤러 부분입니다 ㅠㅠ
글쓴이 똘망이 작성시각 2013/08/20 09:31:12
댓글 : 10 추천 : 0 스크랩 : 0 조회수 : 15707   RSS
<?php
echo "AAA";

class User extends Controller {

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

    function index()
    {
        echo "BBB";
    }
}
============================생략===================================
?>

소스를 위에 처럼 구현했는데요 저기서 echo 찍은 AAA는 잘찍히는데요
class안에 index 함수에있는 echo "BBB"; 는 안찍힙니다ㅠㅠ

왜 함수를 못타는건지 찾을수가 없네요...ㅠ

이게 원래는 php 5.2.17에 ci 1.7.2 이었는데 서버를 이전하면서
php는 5.3.3에 ci는 1.7.2에서 2.1.0으로 업글햇습니다ㅠㅠ

그랫더니 안되네요...ㅠㅠ
 다음글 input->get_post(); (14)
 이전글 ajax 페이징 (10)

댓글

변종원(웅파) / 2013/08/20 09:37:45 / 추천 0
2점대로 오면 조금 달라진게 있습니다. extends Controller 가 아니라 extends CI_Controller 입니다. 모델도 앞에 CI_ 가 붙습니다. 모두 수정해야 합니다
똘망이 / 2013/08/20 09:41:44 / 추천 0
ㅠㅠㅠ 혹시 parent::Controller(); 이부분에서도 CI_를 붙여야하나요..??
CI_를 붙여도 안됩니다...ㅠ
변종원(웅파) / 2013/08/20 09:45:14 / 추천 0
거기도 바뀌었습니다. 공개한 2점대 포럼소스에서 전체적인 형태 참고하고 비교해하세요. 1.7로 검색하면 적용방법 나오는데 제가 지금 모바일이라 찾아드리기 좀 힘드네요. ^^
똘망이 / 2013/08/20 09:46:15 / 추천 0
아 감사합니다 ㅠㅠ 찾아보겟습니다 ^^
변종원(웅파) / 2013/08/20 09:46:38 / 추천 0
똘망이 / 2013/08/20 10:01:35 / 추천 0
정말정말 감사합니다ㅠㅠ

그런데 한가지만 더 여쭤볼게요ㅠ

제가 func_set_data라는 함수를 만들었습니다.

//data 파일 셋팅
function func_set_data($thiss, $var, $val)
{
    return $thiss->data[$var] = $val;
}

func_set_data($this, 'wait_idx', $wait_idx->result());

print_r(func_set_data($this, 'wait_idx', $wait_idx->result()));  
// Array ( [0] => stdClass Object ( [idx] => 923 ) )  출력됨.

이렇게 되는 함수인데요.
여기에
func_set_data($this, 'left_menu_area', $this->load->view('user/left_menu/left_menu', $this->data, true));
//왼쪽 메뉴 영역

이렇게하면 안되더라구요...ㅠㅠ
그런데 이게 php5.2.17에 ci 1.7.2일때는 잘 되었던거거든요 ㅠㅠ
근데 서버를 이전하니까 안되더라구요ㅠㅠ
변종원(웅파) / 2013/08/20 10:21:26 / 추천 0
$this 가 문제일것 같네요. 

func_set_data($this, 'left_menu_area', $this->load->view('user/left_menu/left_menu', $this->data, true)); 

함수 내부의 $this를 {}로 감싸보세요

똘망이 / 2013/08/20 10:32:02 / 추천 0
정말정말 죄송한데요ㅠㅠ $this를 {} 로 햇는데도 안되네요ㅠㅠ 혹시 어디 부분을 감싸는건지 정확히 좀 알수있을까요 ㅠㅠ
똘망이 / 2013/08/20 17:55:24 / 추천 0
$this->data 이부분에 {} 로 감싸는것이 맞나요?? ㅠ
똘망이 / 2013/08/21 09:22:22 / 추천 0
ㅠㅠ

view로드한것을 따로 변수로 빼서 했더니 되네요.,.ㅠㅠ

$left = $this->load->view('user/left_menu/left_menu', $this->data, true);
func_set_data($this, 'left_menu_area', $left); //왼쪽 메뉴 영역