이 기사의 내용은 PHP가 _call을 사용하여 다중 상속을 구현하는 방법(코드 예제)에 대한 것입니다. 이는 특정 참조 값을 가지고 있으므로 도움이 될 수 있습니다.
이 글에서는 코드 재사용을 위한 _call 사용 방법을 간략하게 소개합니다.
_call: 클래스에 존재하지 않는 메소드가 호출되면 자동으로 _call이 호출됩니다.
샘플 코드:
class One{ function method_1(){ echo '11<br/>'; } function method_2(){ echo '22<br/>'; } } class Two{ function method_3(){ echo '33<br/>'; } function method_4(){ echo '44<br/>'; } } class StaticDemo{ protected $Class = array(); public function __construct(array $class = array()){ $this->Class = $class; } public function __call($name, $arguments) { // TODO: Implement __call() method. foreach ($this->Class as $v){ if (is_callable(array($v, $name))) { //call_user_func_array在上篇文章中已作出理解 return call_user_func_array(array($v, $name), $arguments); } } return call_user_func_array(array($this, $name), $arguments); } } $obj = new StaticDemo(array(new One(), new Two())); $obj->method_1(); $obj->method_3();
실행 결과: 11, 33
위 내용은 _call을 사용하여 PHP에서 다중 상속을 구현하는 방법(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!