山那边是海 发表于 2015-2-4 00:21:40

PHP编程:第五节--克隆 -- Classes and Objects ...

培训的第一阶段,学习的是HTML/CSS/JavaScript基础。object|php5   /*
+-------------------------------------------------------------------------------+
| = 本文为Haohappy读<<Core PHP Programming>>
| = 中Classes and Objects一章的笔记
| = 翻译为主+团体心得
| = 为防止能够产生的不用要的费事请勿转载,感谢
| = 接待品评斧正,但愿和一切PHP喜好者配合前进!
+-------------------------------------------------------------------------------+
*/

第五节--克隆

PHP5中的对象模子经由过程援用来挪用对象, 但有时你能够想创立一个对象的正本,并但愿本来的对象的改动不影响到正本 . 为了如许的目标,PHP界说了一个特别的办法,称为__clone. 像__construct和__destruct一样,后面有两个下划线.

默许地,用__clone办法将创立一个与原对象具有不异属性和办法的对象. 假如你想在克隆时改动默许的内容,你要在__clone中覆写(属性或办法).

克隆的办法可以没有参数,但它同时包括this和that指针(that指向被复制的对象). 假如你选择克隆本人,你要当心复制任何你要你的对象包括的信息,从that到this. 假如你用__clone来复制. PHP不会履行任何隐性的复制,

上面显示了一个用系列序数来主动化对象的例子:
<?php
class ObjectTracker //对象跟踪器
{
private static $nextSerial = 0;
private $id;
private $name;

function __construct($name) //机关函数
{
$this->name = $name;
$this->id = ++self::$nextSerial;
}

function __clone() //克隆
{
$this->name = "Clone of $that->name";
$this->id = ++self::$nextSerial;
}

function getId() //获得id属性的值
{
return($this->id);
}

function getName() //获得name属性的值
{
return($this->name);
}
}

$ot = new ObjectTracker("Zeev's Object");
$ot2 = $ot->__clone();

//输入: 1 Zeev's Object
print($ot->getId() . " " . $ot->getName() . "<br>");

//输入: 2 Clone of Zeev's Object
print($ot2->getId() . " " . $ot2->getName() . "<br>");
?>
基础这个东西,有人问学php需要任何基础不?

山那边是海 发表于 2015-2-4 12:32:12

写的比较杂,因为我也是个新手,不当至于大家多多指正。

愤怒的大鸟 发表于 2015-2-9 22:37:10

不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。

深爱那片海 发表于 2015-2-10 04:48:17

兴趣是最好的老师,百度是最好的词典。

蒙在股里 发表于 2015-2-11 13:50:42

在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、

活着的死人 发表于 2015-2-13 10:24:56

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

若天明 发表于 2015-3-3 19:06:19

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

若相依 发表于 2015-3-4 15:59:32

如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,

金色的骷髅 发表于 2015-3-6 23:06:59

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

兰色精灵 发表于 2015-3-12 19:16:49

作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。

灵魂腐蚀 发表于 2015-3-20 01:46:02

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

第二个灵魂 发表于 2015-3-21 05:37:11

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

仓酷云 发表于 2015-3-24 12:40:10

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

再见西城 发表于 2015-3-24 21:15:55

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

飘灵儿 发表于 2015-3-27 08:08:05

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

因胸联盟 发表于 2015-4-3 04:09:24

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

老尸 发表于 2015-4-13 18:52:54

在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。

透明 发表于 2015-4-27 20:45:06

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

变相怪杰 发表于 2015-5-3 11:39:51

写的比较杂,因为我也是个新手,不当至于大家多多指正。

只想知道 发表于 2015-6-21 21:47:57

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
页: [1] 2
查看完整版本: PHP编程:第五节--克隆 -- Classes and Objects ...