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 相关文章推荐
生成静态页面的PHP类
Jul 15 PHP
php socket方式提交的post详解
Jul 19 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
PHP中使用虚代理实现延迟加载技术
Nov 05 PHP
php禁止浏览器使用缓存页面的方法
Nov 07 PHP
php将图片保存入mysql数据库失败的解决方法
Dec 27 PHP
thinkPHP学习笔记之安装配置篇
Mar 05 PHP
php入门教程之Zend Studio设置与开发实例
Sep 09 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
PHP编程实现阳历转换为阴历的方法实例
Aug 08 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
May 16 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
Apr 13 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 什么是PEAR?
2009/03/19 PHP
PHP 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
PHP简单获取及判断提交来源的方法
2016/04/22 PHP
PHP 中常量的知识整理
2017/04/14 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
javascript 模拟JQuery的Ready方法实现并出现的问题
2009/12/06 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
js使用for循环与innerHTML获取选中tr下td值
2014/09/26 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
three.js实现圆柱体
2018/12/30 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
layui 实现table翻页滚动条位置保持不变的例子
2019/09/05 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
Linux下python制作名片示例
2018/07/20 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
浅谈Python 函数式编程
2020/06/20 Python
Coach澳大利亚官方网站:美国著名时尚奢侈品牌
2017/05/24 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
采购求职信
2014/03/17 职场文书
倡议书格式范文
2014/04/14 职场文书
《每逢佳节倍思亲》教后反思
2014/04/19 职场文书
入股协议书范本
2014/11/01 职场文书
《窃读记》教学反思
2016/02/18 职场文书
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server