Home  >  Article  >  Backend Development  >  PHP implements magic methods and about independent instances and connected instances

PHP implements magic methods and about independent instances and connected instances

墨辰丷
墨辰丷Original
2018-05-31 15:51:471113browse

This article mainly introduces PHP magic methods and about independent instances and connected instances. Interested friends can refer to it. I hope it will be helpful to everyone.

The details are as follows:

<?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 "我是对象的字符串!"; } }

Summary: The above is the entire content of this article , I hope it can be helpful to everyone’s study.

Related recommendations:

PHP MySQL high concurrency locking transaction processing problem solution

PHP is executed through bypass disable functions System command method

Monkey King Algorithm implemented in PHP (monkey chooses the king)

The above is the detailed content of PHP implements magic methods and about independent instances and connected instances. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn