php手册之clone,php手册pdf

本文目录一览:

怎么在php中使用clone复制对象

(1)调用Cbitmap类的LoadBitmap函数调入位图资源。

(2)调用CDC::CreatCompatibleDC函数创建一个内存设备环境,以便位图在内存中保留下来,并于指定设备环境兼容。

如何使用PHP5中的Clone函数

这还不仅仅是因为它对于PHP4高度的向后兼容性。

当然,PHP5数据包具备强大的对象模型和一整套新型函数与库,更不用说它其中便携式异常机制,这一机制赋予了它有效处理错误和异常事件的能力。

通过php在服务器上写入文件

当然,当我们使用“函数”这一词时,我们所谈论的并不仅是通常所指的执行指定任务(如从文件中读取数据或为所供变量应用过滤器)的那一概念。我们所指的还包括一些神奇功能,即那些不具备默认的确定执行任务且可以被PHP引擎自动调用以响应某些特定事件的函数。

开发对象指向型PHP应用程序时,_set(),_get()和_call()方法就种神奇函数的典型代表,但是还有其他一些神奇函数值得开发员深入分析。在本文里,我们将集中讨论“_clone()”方法,顾名思义,使用“clone”PHP关键词时可以从幕后调用这一方法。

复制对象的时候从幕后触发函数

就像我们在之前提到的,使用clone关键词的时候,_clone()函数会被自动援引。为了简洁起见,现在我们只谈论用来创建指定对象单独副本的clone关键词,而不谈及创建引用。

php clone后是什么对象

在php5中,对象的传递方式默认为引用传递,如果我们想要在内存中生成两个一样的对象或者创建一个对象的副本,这时可以使用“克隆”。

通过 clone 克隆一个对象

对象的复制是通过关键字 clone 来实现的。用 clone 克隆出来的对象与原对象没有任何关系,它是把原来的对象从当前的位置重新复制了一份,也就是相当于在内存中新开辟了一块空间。通过关键字 clone 可以克隆一个对象,语法格式如下:

$克隆对象名称=clone $原对象名称;

__clone()方法

对象的__clone()方法不能够直接被调用,只有当通过关键字 clone 克隆一个对象时才可以使用该对象调用__clone()方法。当创建对象的一个副本时,php5将会检查__clone()方法是否存在。如果不存在,那 么它就会调用默认的__clone()方法,复制对象的所有属性。如果__clone方法已经定义过,那么__clone()方法就会负责设置新对象的属 性。所以在__clone()方法中,只需要覆盖那些需要更改的属性就可以了。例子如下:

PHP对象克隆clone用法示例

本文实例讲述了PHP对象克隆clone用法。分享给大家供大家参考,具体如下:

浅克隆:只是克隆对象中的非对象非资源数据,即对象中属性存储的是对象类型,则会出现克隆不完全

?php

class

B{

public

$val

=

10;

}

class

A{

public

$val

=

20;

public

$b;

public

function

__construct(){

$this-b

=

new

B();

}

}

$obj_a

=

new

A();

$obj_b

=

clone

$obj_a;

$obj_a-val

=

30;

$obj_a-b-val

=

40;

var_dump($obj_a);

echo

‘br’;

var_dump($obj_b);

运行结果如下:

object(A)[1]

public

‘val’

=

int

30

public

‘b’

=

object(B)[2]

public

‘val’

=

int

40

object(A)[3]

public

‘val’

=

int

20

public

‘b’

=

object(B)[2]

public

‘val’

=

int

40

深克隆:一个对象的所有属性数据都彻底的复制,需要使用魔术方法__clone(),并在里面实现深度克隆

?php

class

B{

public

$val

=

10;

}

class

A{

public

$val

=

20;

public

$b;

public

function

__construct(){

$this-b

=

new

B();

}

public

function

__clone(){

$this-b

=

clone

$this-b;

}

}

$obj_a

=

new

A();

$obj_b

=

clone

$obj_a;

$obj_a-val

=

30;

$obj_a-b-val

=

40;

var_dump($obj_a);

echo

‘br’;

var_dump($obj_b);

运行结果如下:

object(A)[1]

public

‘val’

=

int

30

public

‘b’

=

object(B)[2]

public

‘val’

=

int

40

object(A)[3]

public

‘val’

=

int

20

public

‘b’

=

object(B)[4]

public

‘val’

=

int

10

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

原创文章,作者:FPXV,如若转载,请注明出处:https://www.506064.com/n/140615.html

(0)
FPXVFPXV
上一篇 2024-10-04
下一篇 2024-10-04

相关推荐

  • python中arcpy库,arcpy实例

    本文目录一览: 1、如何用python读取arcgis中shapefile文件的属性表?可以输出为excel格式吗 2、ArcGIS 应用Python中arcpy模块 3、pyth…

    编程 2024-10-04
  • Python中float转string的方法

    引言 在Python编程中,将float类型转换成string类型是很常见的需求,比如在将数字型数据存储到文本文件中、将数字格式化为字符串等。在Python中,转换一个float类…

    编程 2024-10-03
  • json三种数据库(json类型的数据)

    本文目录一览: 1、如何将json数据转化为数据库文件 2、基于json的数据库有哪些? 3、json是什么文件 4、sql,xml,json三种数据库哪种读取速度最快 5、JSO…

    编程 2024-10-03
  • php中的class到底是什么(php中class是什么意思)

    本文目录一览: 1、php中,类名:class,什么意思 2、php中.class是什么文件 3、、-> static self class 到底是什么?’ ti…

  • 快速搭建Python Web应用的步骤

    Python是一种高级编程语言,应用广泛。通过Python的各种框架,可以快速、简便地搭建Web应用。本文将介绍快速搭建Python Web应用的步骤,并给出相关代码示例。 一、准…

    编程 2024-10-03
  • 开启php的错误log日志,php login

    本文目录一览: 1、记录PHP错误日志 display_errors与log_errors的区别 2、PHP中error_log()函数的使用方法 3、怎么让php打印错误日志? …

    编程 2024-10-03
  • java比较时间大小,JAVA比较时间

    本文目录一览: 1、java 时间比较 2、java怎么比较时间的大小 3、Java中如何比较时间(小时/分/秒)的大小??? 4、如何用java比较两个时间或日期的大小 5、ja…

    编程 2024-10-04
  • 数据建模工具的全面介绍

    一、什么是数据建模工具 数据建模工具是用来帮助开发人员、企业架构师和数据库管理员设计、可视化和维护数据库架构的软件化工具。它们提供了各种各样的图形、符号、表格和图形化元素,以帮助用…

    编程 2024-10-03
  • JavaFormat规范化代码风格

    在软件开发中,代码是非常重要的。代码风格的规范化可以提高程序的可读性和可维护性,从而降低程序出现问题的风险。Java是一种广泛应用的编程语言,JavaFormat是一种规范化Jav…

    编程 2024-10-11
  • Python GET()方法详解

    Python GET()方法是Python编程语言中常用的一种方法,主要用于获取指定键的值。在本文中,我们将从多个方面详细阐述Python GET()方法的用法和使用技巧。 一、G…

    编程 2024-10-04

发表回复

登录后才能评论