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 00:24
下一篇 2024-10-04 00:24

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python基础教程第三版PDF下载

    熟练掌握Python编程语言可以让你轻松地用代码解决很多问题,Python基础教程第三版是一本适合初学者的Python教程。本文将从几个方面详细介绍Python基础教程第三版PDF…

    编程 2025-04-29
  • 使用Spire.PDF进行PDF文档处理

    Spire.PDF是一款C#的PDF库,它可以帮助开发者快速、简便地处理PDF文档。本篇文章将会介绍Spire.PDF库的一些基本用法和常见功能。 一、PDF文档创建 创建PDF文…

    编程 2025-04-29
  • Python零基础PDF下载

    本文将为大家介绍如何使用Python下载PDF文件,适合初学者上手实践。 一、安装必要的库 在Python中,我们需要使用urllib和requests库来获取PDF文件的链接,并…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 智能风控 Python金融风险PDF

    在金融交易领域,风险控制是一项重要任务。智能风控是指通过人工智能技术和算法模型,对金融交易进行风险识别、风险预警、风险控制等操作。Python是一种流行的编程语言,具有方便、易用、…

    编程 2025-04-29
  • Python编程与数据分析应用PDF

    Python编程是一门功能强大的编程语言,其易读易写、可扩展性强等优点使得它在各个领域都有着广泛的应用。而数据分析也是当今各行各业的基本需求,Python语言通过优秀的数据分析库也…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • 文本数据挖掘与Python应用PDF

    本文将介绍如何使用Python进行文本数据挖掘,并将着重介绍如何应用PDF文件进行数据挖掘。 一、Python与文本数据挖掘 Python是一种高级编程语言,具有简单易学、代码可读…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28

发表回复

登录后才能评论