>  기사  >  백엔드 개발  >  PHP는 매직 메소드와 독립 인스턴스 및 연결된 인스턴스를 구현합니다.

PHP는 매직 메소드와 독립 인스턴스 및 연결된 인스턴스를 구현합니다.

墨辰丷
墨辰丷원래의
2018-05-31 15:51:471112검색

이 글은 주로 PHP 매직 메소드를 소개하며, 관심 있는 친구들이 참고하면 좋을 것 같습니다.

자세한 내용은 다음과 같습니다.

<?php
//魔术方法
//当包含多个类
//1.自动装载类的魔术方法__autoload()
function __autoload($classname){
if (isset($classname)){
require_once $classname.&#39;.class.php&#39;;
}
}
/* $computer1=new Computer();
$computer1->addList(&#39;dalisng&#39;,234);
echo $computer1; */
//__call()屏蔽调用方法时候产生的错误,当我们调用一个不存在的方法时候,会自动调用__call()方法。
//独立实例,两个实例各自建立,互不干涉
$computer2=new Computer();
echo $computer2->name;echo "<br/>";
$computer3=new Computer();
echo $computer3->name;echo "<br/>";
$computer3->name="大亮";
echo &#39;$computer3->name:&#39;.$computer3->name;echo "<br/>";
echo &#39;$computer2->name:&#39;.$computer2->name;echo "<br/>";
echo "<hr/>";
//相连实例,即 用等于号来开辟一个新的实例,此时两个实例共同指向一个内存地址,一损俱损,一荣俱荣
$computer4=new Computer();
echo &#39;$computer4->name:&#39;.$computer4->name;echo "<br/>";
$computer5=$computer4;
echo &#39;$computer5->name:&#39;.$computer5->name;echo "<br/>";
$computer4->name="大亮";
echo &#39;$computer4->name:&#39;.$computer4->name;echo "<br/>";
echo &#39;$computer5->name:&#39;.$computer5->name;echo "<br/>";
echo "<hr/>";
//克隆__clone,克隆的新实例和被克隆的实例是两个相互独立的个体,虽然属性值相同,但是属性存放的地址不同,所以克隆后你我生死无关
$computer6=new Computer();
echo &#39;$computer6->name:&#39;.$computer6->name;echo "<br/>";
$computer7=clone $computer6;
echo &#39;$computer7->name:&#39;.$computer7->name;echo "<br/>";
$computer6->name="克隆";
echo &#39;$computer6->name:&#39;.$computer6->name;echo "<br/>";
echo &#39;$computer7->name:&#39;.$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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.