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 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
无数据库的详细域名查询程序PHP版(2)
Oct 09 PHP
怎样在UNIX系统下安装MySQL
Oct 09 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
Jun 04 PHP
PHP的异常处理类Exception的使用及说明
Jun 13 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
php查看当前Session的ID实例
Mar 16 PHP
PHP Yaf框架的简单安装使用教程(推荐)
Jun 08 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
php unlink()函数使用教程
Jul 12 PHP
php正确输出json数据的实例讲解
Aug 21 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概述.
2006/10/09 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
Jquery之Ajax运用 学习运用篇
2011/09/26 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
js判断空对象的实例(超简单)
2016/07/26 Javascript
AngularJS监听路由的变化示例代码
2016/09/23 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
vue数据双向绑定的注意点
2017/06/23 Javascript
使用jQuery实现简单的tab框实例
2017/08/22 jQuery
JS代码触发事件代码实例
2020/01/02 Javascript
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
python获取Pandas列名的几种方法
2019/08/07 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
德国排名第一的主题公园门票网站:Attraction Tickets Direct
2019/09/09 全球购物
CLR与IL分别是什么含义
2016/08/23 面试题
篮球赛口号
2014/06/18 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
对照四风自我剖析材料
2014/10/07 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书