가능한 중복 [어디 ???에서 방법] : 나는 코드가
redirecting to other methods when calling non-existing methods이 가능 방법 - 성공적으로 PHP에서 호출 존재하지 않는 방법은
, 어떤 나는 검사하고 있고 환상적인 특징을 가지고있다.
PHP 5.4.0/Kohana 3.0.3
문자열이 문제가 정확히 :
$ticket = ORM::factory('ticket');
$this->template->errors = $ticket->validate()->errors('validate_ticket');
문제가 해당 클래스의 Model_Ticket이고 방법의 validate()를 포함하지 않는 부모의 모든하지만, 이 메소드는 유효한 값을 리턴합니다. 어떻게 가능합니까? 우리는 결과로 무엇을 가지고 여기
echo 'get_class($ticket)='; echo get_class($ticket); echo "\n";
echo "var_dump(method_exists(\$ticket,'validate'))="; var_dump(method_exists($ticket,'validate')); echo '\n';
echo "var_dump(method_exists('Model_Ticket','validate'))=";var_dump(method_exists('Model_Ticket','validate'));echo '\n'
echo 'get_class($ticket->validate())=';echo get_class($ticket->validate());
:
다음 코드를 보여줍니다
get_class($ticket)=Model_Ticket
var_dump(method_exists($ticket,'validate'))=bool(false)
var_dump(method_exists('Model_Ticket','validate'))=bool(false)
get_class($ticket->validate())=Validate
get_class_methods ($ 티켓)도 보여주고, 그 $ 티켓이 방법의 유효성 검사를 포함하지 않는() ..
['__call()'] (http://www.php.net/manual/ko/language.oop5.overloading.php#object.call)가 구현되어 있는지 확인 했습니까? – mario
내가 확인했는데 ... – user1713204
죄송합니다, 당신이 옳았습니다. 부모 중 한 명이 그렇게합니다. 큰 감사, 마리오! – user1713204