CI 묻고 답하기

제목 ci 클래스 함수호출 관련
글쓴이 원더보이 작성시각 2013/12/30 00:42:07
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 15729   RSS
 보편적으로 클래스단을 호출할때 

$객체->함수(); 이런구조가 보편적인데 

ci 나 외국의 삘받은 개발자가 만든 호출구조보면

ci를 기준으로보면 $this->uri->segment(); 이런식으로 선택 호출 방향이 3단계로 나눠지는게 

어떻게 구현되어 지는건가요 로직이? url는 클래스에서 세그먼트라는 함수를 호출하는건데 

자신의 클래스에서 uri클래스의 세그먼트 함수를 호출하는건데 자신의 클래스에서 또다른 클래스를 호출한다?

개념이 맞는지요 c에서는 클래스 안에 클래스가 inner class 가능한데

php는 여태것이렇게 로직을 짜본적이 없기에 어떤 원리로 저렇게 객체가 만들어져 호출되어 지는건가요?

 다음글 페이지 세크멘트 관련 질문입니다. (4)
 이전글 서버설정을 로컬로 옮기는데 .htaccess가 동작안해... (3)

댓글

한대승(불의회상) / 2013/12/30 09:12:21 / 추천 0
변수를 클래스명으로 선언한 후 객체를 할당하는것 입니다.

 
태양이 / 2014/01/02 11:49:18 / 추천 0
클래스 내부에서 프로퍼티로 만들기 위해 new를 하는거에요..

function codeigniter
{
    private $uri;

    function __construct()
    {
        $uri = new uri(); // uri객체는 codeigniter객체 외부에 만들어 두면 되겠죠?
    }

    function index()
    {
        echo $this->uri()->segment();
    }
}
원더보이 / 2014/01/03 02:42:48 / 추천 0
 웅파님 / 태양이님 답변 감사합니다
<?php
class uri {
public function segment(){
echo "A";
}
}
 
 
class codeigniter
{
    public $uri;
    function __construct()
    {
$this->uri = new stdClass;
        $this->uri = new uri;
    }
 
    function index()
    {
        echo $this->uri->segment();
    }
}
 
 
$obj = new codeigniter;
$obj->index();

말씀하신대로 이런식으로 객체 객체 함수 호출하는 구조였네요!