2012-10-04 3 views
1

나는 내 자신의 PHP 클래스를 작성 중이며 그 클래스 내에 여러 함수가 있습니다. 하지만 같은 클래스 내의 다른 함수에서 함수를 호출 할 수 없습니까? 이런 식으로 뭔가가 :PHP 클래스 함수 호출

class my_Class { 
    function one($arg) { 
     //does something 
    } 

    function two($var) { 
     $receive = one($var); 
    } 
} 

나는 이런 식으로 뭔가를 시도하고 말하는 오류 밖으로 말다툼 : 내가 잘못 뭐하는 거지

Fatal error: Call to undefined function one() 

를? 이것에

+2

해야한다, (다른 언어로 일명'self') PHP에서'$ this'의 사용이 필수입니다 있습니다. – rid

+0

@ Radu yah 저는 C++ 보트를 신선하게 사용합니다. P 도움을 주셔서 감사합니다. –

답변

6

변경을 :

function two($var) { 
     $receive = $this->one($var); 
} 

검토 PHP OOP 참조가 : http://www.php.net/manual/en/language.oop5.php
$this 키워드는 항상 필요합니다. 당신은 Java 또는 C++에서 오는 경우

+0

그래, 이건 정확히 당신이 그것을 바꿀 필요가있는 것입니다. – usumoio

2

그것은

class my_Class { 
    function one($arg) { 
     // does something 
    } 
    function two($var) { 
     $receive = $this->one($var); 
    } 
} 
+0

@ RADUD .. 나는 당신이 어떤 테스트를해야한다고 생각한다. 'one()'은 global이 아닐 것이다. http://codepad.viper-7.com/Q85Tp4 – Baba

+0

@Radu ok 유효한 인수는 또한'Fatal error : 다시 작성할 수 없습니다()'.. 그 옵션을 제거합니다 +1 – Baba