検索
Clone_PHP チュートリアルJul 20, 2016 am 10:59 AM
php5クローンコピー物体確立する変化モデル移行合格

PHP5 のオブジェクト モデルは参照によってオブジェクトを呼び出しますが、オブジェクトのコピーを作成し、元のオブジェクトへの変更がコピーに影響しないようにしたい場合があります。この目的のために、PHP は __clone Like という特別なメソッドを定義しています。 __construct と __destruct、前に 2 つのアンダースコアがあります。

デフォルトでは、__clone メソッドを使用すると、元のオブジェクトと同じプロパティとメソッドを持つオブジェクトが作成されます。クローン作成時にデフォルトのコンテンツを変更したい場合は、__clone で (プロパティまたはメソッド) をオーバーライドする必要があります。
clone メソッドはパラメータを取ることができませんが、このポインタとそのポインタ (コピーされるオブジェクトを指す) の両方が含まれています。自分自身を複製することを選択した場合は、そこからオブジェクトに含めたい情報をコピーするように注意する必要があります。これに __clone を使用してコピーすると、PHP は暗黙的なコピーを実行しません。
以下は、系列の序数を使用してオブジェクトを自動化する例を示しています:


クラス ObjectTracker file://Object Tracker
{
プライベート静的 $nextSerial = 0;
プライベート $id;
プライベート $name;

function __construct($name) file://constructor
{
$this->name = $name;
$this->id = self::$nextSerial;
}

function __clone() file://clone
{
$this->name = "$that->name のクローン";
$this->id = self::$nextSerial;
}

function getId() file://id 属性の値を取得します
{
return($this->id);
}

function getName() file://name 属性の値を取得します
{
return($this->name);
}
}

$ot = 新しい ObjectTracker("Zeev のオブジェクト");
$ot2 = $ot->__clone();

//出力: 1 Zeev のオブジェクト
print($ot->getId() . " " . $ot->getName() . "
");

//出力: Zeev のオブジェクトのクローン 2 つ
print($ot2->getId() . " " . $ot2->getName() . "
");
?>


http://www.bkjia.com/PHPjc/445561.html

tru​​ehttp://www.bkjia.com/PHPjc/445561.html技術記事 PHP5 のオブジェクト モデルは参照によってオブジェクトを呼び出しますが、場合によっては、オブジェクトのコピーを作成し、元のオブジェクトへの変更がコピーに影響しないようにしたい場合があります。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
php5和php8有什么区别php5和php8有什么区别Sep 25, 2023 pm 01:34 PM

php5和php8的区别在性能、语言结构、类型系统、错误处理、异步编程、标准库函数和安全性等方面。详细介绍:1、性能提升,PHP8相对于PHP5来说在性能方面有了巨大的提升,PHP8引入了JIT编译器,可以对一些高频执行的代码进行编译和优化,从而提高运行速度;2、语言结构改进,PHP8引入了一些新的语言结构和功能,PHP8支持命名参数,允许开发者通过参数名而不是参数顺序等等。

源码探秘:Python 中对象是如何被调用的?源码探秘:Python 中对象是如何被调用的?May 11, 2023 am 11:46 AM

楔子我们知道对象被创建,主要有两种方式,一种是通过Python/CAPI,另一种是通过调用类型对象。对于内置类型的实例对象而言,这两种方式都是支持的,比如列表,我们即可以通过[]创建,也可以通过list(),前者是Python/CAPI,后者是调用类型对象。但对于自定义类的实例对象而言,我们只能通过调用类型对象的方式来创建。而一个对象如果可以被调用,那么这个对象就是callable,否则就不是callable。而决定一个对象是不是callable,就取决于其对应的类型对象中是否定义了某个方法。如

详解虚拟机中CentOS的克隆与快照功能详解虚拟机中CentOS的克隆与快照功能Jan 15, 2024 pm 04:09 PM

对于初学者来说,最好在安装完系统之后,就做一次快照或者克隆!一、快照的使用1、打开快照管理器,2、开始:拍摄快照,3、快照拍摄完成。4、快照的恢复:选择转到某个快照即可,快照的功能使用很简单,适合初学者!二、克隆的使用1、克隆功能:对于测试的用户来说,省去了大量安装新的虚拟机的步骤;不需要占用大量的硬盘空间,不是一个完整的虚拟机,可能只有几十兆;克隆机依赖原始的虚拟机;2、开始克隆,注意:克隆虚拟机,需要将宿主机关机!3、选择克隆源,4、选择链接克隆,5、选择被克隆的虚拟机存放位置,6、克隆完成

使用Python的__contains__()函数定义对象的包含操作使用Python的__contains__()函数定义对象的包含操作Aug 22, 2023 pm 04:23 PM

使用Python的__contains__()函数定义对象的包含操作Python是一种简洁而强大的编程语言,提供了许多强大的功能来处理各种类型的数据。其中之一是通过定义__contains__()函数来实现对象的包含操作。本文将介绍如何使用__contains__()函数来定义对象的包含操作,并且给出一些示例代码。__contains__()函数是Pytho

使用Python的__le__()函数定义两个对象的小于等于比较使用Python的__le__()函数定义两个对象的小于等于比较Aug 21, 2023 pm 09:29 PM

标题:使用Python的__le__()函数定义两个对象的小于等于比较在Python中,我们可以通过使用特殊方法来定义对象之间的比较操作。其中之一就是__le__()函数,它用于定义小于等于比较。__le__()函数是Python中的一个魔法方法,并且是一种用于实现“小于等于”操作的特殊函数。当我们使用小于等于运算符(<=)比较两个对象时,Python

php5如何改80端口php5如何改80端口Jul 24, 2023 pm 04:57 PM

php5改80端口的方法:1、编辑Apache服务器的配置文件中的端口号;2、辑PHP的配置文件以确保PHP在新端口上工作;3、重启Apache服务器,PHP应用程序将开始在新的端口上运行。

详解Javascript对象的5种循环遍历方法详解Javascript对象的5种循环遍历方法Aug 04, 2022 pm 05:28 PM

Javascript对象如何循环遍历?下面本篇文章给大家详细介绍5种JS对象遍历方法,并浅显对比一下这5种方法,希望对大家有所帮助!

Python中如何使用getattr()函数获取对象的属性值Python中如何使用getattr()函数获取对象的属性值Aug 22, 2023 pm 03:00 PM

Python中如何使用getattr()函数获取对象的属性值在Python编程中,我们经常会遇到需要获取对象属性值的情况。Python提供了一个内置函数getattr()来帮助我们实现这个目标。getattr()函数允许我们通过传递对象和属性名称作为参数来获取该对象的属性值。本文将详细介绍getattr()函数的用法,并提供实际的代码示例,以便更好地理解。g

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール