이 글은 주로 PHP 매직 메소드를 소개하며, 관심 있는 친구들이 참고하면 좋을 것 같습니다.
자세한 내용은 다음과 같습니다.
<?php //魔术方法 //当包含多个类 //1.自动装载类的魔术方法__autoload() function __autoload($classname){ if (isset($classname)){ require_once $classname.'.class.php'; } } /* $computer1=new Computer(); $computer1->addList('dalisng',234); echo $computer1; */ //__call()屏蔽调用方法时候产生的错误,当我们调用一个不存在的方法时候,会自动调用__call()方法。 //独立实例,两个实例各自建立,互不干涉 $computer2=new Computer(); echo $computer2->name;echo "<br/>"; $computer3=new Computer(); echo $computer3->name;echo "<br/>"; $computer3->name="大亮"; echo '$computer3->name:'.$computer3->name;echo "<br/>"; echo '$computer2->name:'.$computer2->name;echo "<br/>"; echo "<hr/>"; //相连实例,即 用等于号来开辟一个新的实例,此时两个实例共同指向一个内存地址,一损俱损,一荣俱荣 $computer4=new Computer(); echo '$computer4->name:'.$computer4->name;echo "<br/>"; $computer5=$computer4; echo '$computer5->name:'.$computer5->name;echo "<br/>"; $computer4->name="大亮"; echo '$computer4->name:'.$computer4->name;echo "<br/>"; echo '$computer5->name:'.$computer5->name;echo "<br/>"; echo "<hr/>"; //克隆__clone,克隆的新实例和被克隆的实例是两个相互独立的个体,虽然属性值相同,但是属性存放的地址不同,所以克隆后你我生死无关 $computer6=new Computer(); echo '$computer6->name:'.$computer6->name;echo "<br/>"; $computer7=clone $computer6; echo '$computer7->name:'.$computer7->name;echo "<br/>"; $computer6->name="克隆"; echo '$computer6->name:'.$computer6->name;echo "<br/>"; echo '$computer7->name:'.$computer7->name;echo "<br/>";
Computer.class.php
<?php class Computer{ public $name="1234"; function __construct(){ echo "you are right!"; } function __call($methodName,$argsList){//当方法不存在的时候会自动调用此方法,$argsList是相应的参数 echo $methodName."()方法不存在!"; echo "<pre class="brush:php;toolbar:false">"; print_r($argsList); echo ""; } private function __toString(){ //当用户输出不存在的字符串时候,该方法自动调用 比如echo 对象名 echo "我是对象的字符串!"; } }
요약: 위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되길 바랍니다.
관련 권장 사항:
PHP+MySQL 높은 동시성 잠금 트랜잭션 처리 문제 해결
PHP 우회 비활성화 기능을 통해 시스템 명령을 실행하는 방법
PHP로 구현된 원숭이 왕 알고리즘(몽키가 왕을 선택함) )
위 내용은 PHP는 매직 메소드와 독립 인스턴스 및 연결된 인스턴스를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!