<?php

/**
*
*/
//__clone()方法对一个对象实例进行的浅复制,对象内的基本数值类型进行的是传值复制
/*class a
{
public $uname;
public $num; function _a()
{
echo "后盾网免费视频课程";
} function b()
{
echo "php视频课程";
} //克隆函数:
function __clone()
{
$this->num++;
}
} $c = new a();
//$d=$c;
//echo intval($c===$d); //获取结果的整数值:
//$c->uname=100;
//echo $d->uname;//输出:100 //clone克隆对象:
$e = clone $c;
//echo intvalc($e===$c);//输出:0
echo $e->num;//输出:1*/ //__toString:是快速获取对象的字符串信息的便捷方式
/*class db
{
private $host;
private $user;
private $pwd;
private $dbname; function __construct($host,$user,$pwd,$dbname)
{
$this->host = $host;
$this->user = $user;
$this->pwd=$pwd;
$this->dbname=$dbname;
}
function _conn(){
$mysqli=new mysqli($this->host,$this->user,$this->pwd,$this->dbname);
}
function _gettable(){
echo "获得表名";
}
function _getFields(){
echo "获取字段列表";
}
function _insert(){
echo "插入数据";
}
function _update(){
echo "更新数据";
}
function __toString()
{
//get_class_methods()获取所有类的方法。
$method=implode("<br/>",get_class_methods(__CLASS__)); //get_object_var($object),返回一个数组。获取$object对象中的属性,组成一个数组
$vars=get_object_vars($this);
$str="";
foreach ($vars as $k=>$v){
$str.=$k.'=>'.$v."<br/>";
}
return $str;
//return $method;//输出:类中所有的方法出来。
}
} $arc=new db('localhost','root','user','hdcms');
echo $arc;*/ //__call: 当调用的类的方法不存在的时候执行他。
class f{
function _f(){
echo "3333";
}
function __call($methodName, $args)
{
//echo $methodName;//输出:_f1
print_r($args);//输出:Array ( [0] => 11 [1] => 22 [2] => 33 )
}
}
$d=new f();
$d->_f1(11,22,33);

  

013对象—— __clone __toString __call的更多相关文章

  1. php对象: __clone, __toString, __call,__isset, __unset, __sleep, __wakeup,

    __clone: 克隆对象,自动完成操作   clone()  __toString:  return返回字符串  __call: 当调用不存在的函数时,自动执行该方法,并返回相关值 __isset: ...

  2. PHP 魔术方法 __clone __toString(五)

    __clone() - 当对象克隆的时候自动加载此方法 __toString() - 当对象需要echo打印输出的时候自动加载此方法 __clone() <?php class example{ ...

  3. php类知识---魔术方法__toString,__call,__debugInfo

    <?php class mycoach{ public function __construct($name,$age) { $this->name = $name; $this-> ...

  4. 【PHP面向对象(OOP)编程入门教程】17.克隆对象__clone()方法

    有的时候我们需要在一个项目里面,使用两个或多个一样的对象,如果你使用“new”关键字重新创建对象的话,再赋值上相同的属性,这样做比较烦琐而且也容易出错,所以要根据一个对象完全克隆出一个一模一样的对象, ...

  5. PHP面向对象(OOP):克隆对象__clone()方法

    有的时候我们需要在一个项目里面,使用两个或多个一样的对象,如果你使用“new”关键字重新创建对象的话,再赋值上相同的属性,这样做比较烦琐而且也容易出错,所以要根据一个对象完全克隆出一个一模一样的对象, ...

  6. 克隆对象__clone()方法

    有的时候我们需要在一个项目里面,使用两个或多个一样的对象,如果你使用“new”关键字重新创建对象的话,再赋值上相同的属性,这样做比较烦琐而且也容易出错,所以要根据一个对象完全克隆出一个一模一样的对象, ...

  7. php -- 魔术方法 之 对象输出 : __toString()

    对象输出:__toString() 当一个对象被当做字符串进行输出时(echo,print),会调用__toString()方法 <?php //输出对象 class Person{ //属性 ...

  8. 跟着百度学PHP[4]OOP面对对象编程-14-克隆对象__clone()方法

    $b=clone ($a) #克隆a对象. <?php class Human { private $name; private $sex; private $age; function __c ...

  9. Object之魔术函数__call() 处理错误调用

    在提到__call之前,先来看一个实例的测试结果,以便更好地去了解__call方法的作用.上代码: <?php class Person{ function say(){ echo " ...

随机推荐

  1. django_视图层/2.0路由层/虚拟环境

  2. python单线程解决并发

    1.单线程解决并发 方式一 import socket import select # 百度创建连接:非阻塞 client1 = socket.socket() client1.setblocking ...

  3. 【我的Android进阶之旅】推荐一款能提升数十倍效率的Android应用开发助手

    一功能介绍 a调试相关 1布局边界 2布局更新 3强制GPU渲染 4GPU渲染 5指针位置 6严格模式 7不保留应用 8不锁定屏幕 9开发者选项 10系统设置 11语言设置 12USB调试 b UI相 ...

  4. Python高级教程-高阶函数

    Higher-order function(高阶函数) 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码: >>> abs(-10) 10 但 ...

  5. c++ 11nullptr

    1. 引入nullptr的原因 引入nullptr的原因,这个要从NULL说起.对于C和C++程序员来说,一定不会对NULL感到陌生.但是C和C++中的NULL却不等价.NULL表示指针不指向任何对象 ...

  6. linux ioctl

    Linux内核的ioctl函数学习 我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl, 所以就规定了我们讨论的范围.为什么要写篇文章呢,是因为我前一阵子被ioct ...

  7. appium 自动化测试案例

    原文地址http://www.cnblogs.com/tobecrazy/p/4579631.html 原文地址http://www.cnblogs.com/tobecrazy/ 该博主有很多干货,可 ...

  8. django-ORM复习补充

    建表 class Author(models.Model): name = models.CharField(max_length=32) age = models.IntegerField() # ...

  9. SqlHelper简单实现(通过Expression和反射)8.Sql Server数据处理类

    这个类基本上就是调用EntityHelper,ExpressionHelper和ObjectHelper来进行各种完整SQL的拼接操作. using System; using System.Conf ...

  10. Linux静默安装Oracle

    打算在云服务器上装oracle服务,以前DBA美眉都是在图形化界面下安装,这次抓瞎了.赶紧上网查查,静默安装可以解决问题.于是乎赶紧开始部署,过程如下.安装环境:操作系统:CentOS 7内存:11G ...