php5有Clone语句,而PHP4没有.以前php4要实现科隆一个object,用的是函数方法.如果你以前写的PHP4有用到Clone 类的方法,再跑到PHP5下面有可能出现错误.如果你现在写的php5用到clone.哪么在php4是完全不能用的.我试着写了下面的一个转换跑在PHP4和PHP5之间.用的是eval() function.
测试代码:
<?php
//MyClass 有一个变量a 和一个内建方法
class MyClass
{
var $a;
function test($a)
{
$this->a = $a;
}
}
//这是php4的克隆方法
function php4clone($tmp_obj)
{
return $tmp_obj;
}
//一个判断php的版本调用不同的Clone
if(version_compare(phpversion(),'5.0.1')< 0)
{
eval('
$obj = new MyClass;
$obj_clone = php4clone($obj);
$obj->test("Hello");
$obj_clone->test("World");
echo $obj->a;
echo $obj_clone->a;
echo "PHP".phpversion();
');
}else{
eval('
$obj = new MyClass;
$obj_clone = clone($obj);
$obj->test("Hello");
$obj_clone->test("World");
echo $obj->a;
echo $obj_clone->a;
echo "PHP".phpversion();
');
}
?>
ps:4.3.8 与php5.01测试通过.关于不同php版本兼容.如果还有什么更好的方法.希望能更多讨论.

咳.咳.无语......服了.什么都可以集成.呵呵.只有想不到.没有做不到的.有喜欢.NET和开源PHP的可以装一个绑在一起玩.
PHP FOR VS.2003的网站
开源的东西就是这样.刚发布完PHP5.0.现在http://www.php.net?又发布了php 5.0.1.前阵子大量的PHP爱好者一直http://www.php.net? 和 http://www.zend.com?讨论不同的Bug. 大家的高度的关注.使得修正版本这么快就出来了.PHP一向都基本三个月就会发布一个新的修正版本.就象Apache,mysql一样,频繁发布不是坏事.开源软件都是这样.集众家之所长.使得系统更安全可靠.
下载地址? 具体修正了哪些
修正了不少Bug.看了一下.重写的多系统安装帮助文件.(这个Danger上次安装时就因为帮助手册写得写的不详细.使用IIS绑定PHP5.0时就浪费不少时间.
XML方面新版本扩展的Libxml2也升级了.分别.libxml2-2.6.11,libxslt-1.1.7.
(从5.0起.PHP在与XML交互将一扫以前哪种混乱和难写的局面,基本上以前4.*版本的PHP的都重写.
分别使用标准化地Dom, SimpleXml,和Libxml2,我试了写了一下.短短几句就能解析和读写XML.相当方便了)
另外还修正了不好PHP Webservice方面的Bug
(php 5.0已经可以很不错写php 的webservice了,有兴趣的可以研究一下,我还没动手学习)
php 5.0现成了我空闲时间,第一学习的东西.比起以前的PHP4.* ,真是一天与地.半个月下来.一点体会:
首先第一就要确立OOP的开发模式.这要感谢学习C#带来的帮助.现在使用PHP开发者分两派.一派可以说强烈反对OOP模式开发.依然保持传统的func to include,一派是强烈支持PHP5.0的格新派.所以
PHP4.* 最新也发布了4.3.8 .4.3.9
第二就是PHP的老鸟们现在流行都使用模板开发.大量使用MVC开发模式的逻辑层和表示层,有多种模板引擎可供选择,当然比较流行的首选SMARTY.在PHP5.0里MVC模式与OOP的理念会结合的更好.
第三就是.PHP与XML的运用.Php5.0开始使用更符合W3C标准的DOMXML和XmlLib2扩展,另外关注的就是Webservice在PHP开发行列中起将很大作用.
另外的话题:
与数据库的交互.分别有了.面象对象的 新的 MySQLi 和 SQLite 扩展.
AMFPHP这个PHP世界里与FLASH交互的Remoting组件的开发.不知道在PHP5.0时代的到来.会有什么重大改变.关注中...
Ps:上次提到的Zend IDE studio 3.5 也发布了最新版本.3.5.1了.同时支持PHP4*与PHP5.*
的语法和调试.我想目前没有比这个强的PHPIDE出来了,可惜.8支持中文.自己修改中文代码.:(
用惯IDE不是好事.这得怪平时用惯的VB.VS.NET,:( 不过PHP的许多人也喜欢用editplus开发.用editplus可以强记住哪么多的PHP方法和函数很有用地.editplus已经有了支持5.0的SAX下载了.
唉呀.打字打死我了.我还是比较懒.HOHO.早起看奥运开幕重播.中国队加油~
全面支持OOP的PHP5.0已经发布了.对喜欢它的人来说是件喜事.我也喜欢PHP.没事也玩玩.推荐一个php个人认为最好的IDE.Zend Studio 3.5.0IDE.已经支持PHP5.0RC3.版本.
安装可以自设定Debug Server.apache server或IIS及其它.完整的帮助手册.代码提示.Class View....
关于php5.0的介绍和下载? http://www.php.net
关于Zend Studio 3.50 介绍和下载试用版本. http://www.zend.com/store/products/zend-studio.php
?