PHP魔术方法以及关于独立实例与相连实例的全面讲解


Posted in PHP onOctober 18, 2016
<?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>";
print_r($argsList);
echo "</pre>";
}

private function __toString(){ //当用户输出不存在的字符串时候,该方法自动调用 比如echo 对象名
echo "我是对象的字符串!";
}
}

以上就是小编为大家带来的PHP魔术方法以及关于独立实例与相连实例的全面讲解全部内容了,希望大家多多支持三水点靠木~

PHP 相关文章推荐
如何做到多笔资料的同步
Oct 09 PHP
一些常用的php简单命令代码集锦
Sep 24 PHP
phpmyadmin 3.4 空密码登录的实现方法
May 29 PHP
解析php5配置使用pdo
Jul 03 PHP
php使用百度ping服务代码实例
Jun 19 PHP
ThinkPHP连接数据库的方式汇总
Dec 05 PHP
PHP页面间传递值和保持值的方法
Aug 24 PHP
php简单统计中文个数的方法
Sep 30 PHP
Thinkphp开发--集成极光推送
Sep 15 PHP
php实现生成带二维码图片并强制下载功能
Feb 24 PHP
PHP基于array_unique实现二维数组去重
Jul 14 PHP
php中数组最简单的使用方法
Dec 27 PHP
浅谈PHP拦截器之__set()与__get()的理解与使用方法
Oct 18 #PHP
利用PHP绘图函数实现简单验证码功能的方法
Oct 18 #PHP
Yii针对添加行的增删改查操作示例
Oct 18 #PHP
Yii遍历行下每列数据的方法
Oct 17 #PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 #PHP
php实现跨域提交form表单的方法【2种方法】
Oct 17 #PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 #PHP
You might like
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
laravel 模型查询按照whereIn排序的示例
2019/10/16 PHP
jquery 指南/入门基础
2007/11/30 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
2015/12/16 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
Centos6.8下Node.js安装教程
2017/05/12 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
解决vue 按钮多次点击重复提交数据问题
2018/05/10 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
[43:43]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第三场 11.29
2020/12/02 DOTA
Python之py2exe打包工具详解
2017/06/14 Python
python使用pdfminer解析pdf文件的方法示例
2018/12/20 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
纽约复古灵感的现代珠宝品牌:Lulu Frost
2018/03/03 全球购物
西班牙床垫网上商店:Colchones.es
2018/05/06 全球购物
COS美国官网:知名服装品牌
2019/04/08 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
竞选班干部演讲稿
2014/04/24 职场文书
《称象》教学反思
2014/04/25 职场文书
小学关爱留守儿童活动方案
2014/08/25 职场文书
2019年感恩励志演讲稿(收藏备用)
2019/09/11 职场文书