您的位置:首页 > 编程语言 > PHP开发

php4 与 php5 的区别

2011-12-19 15:03 274 查看
php4 没有 静态成员

--------------------------------------------------

php网页后台出现这样的错误,查过SubPages1.php并没有找到相应的错误。网站在自己本地测试完全正常,传到空间以后就出现这样的错误。连验证码都看不到了,类似的错误还有Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /www/users/myhuashun.com.ufhost/admin/yanzhengma.php on line 6

2010-12-9 22:26
最佳答案

服务器是4.0版本的话 如果有“public”,就将“public”去掉。就不会出错,如果“public” 是定义变量的话,将“public” 改为“var”。

--------------------------------------------------
http://kiddymeet.blog.51cto.com/20194/51158
最近在做一个整站内容管理系统(见本站首页),另外还在做一个朋友的办公楼信息管理系统!老实说才用php进行开发半年多一点,经验很不足,不 过从事WEB的工龄也足足好几年了。最初接触php的时候还是php3,php3不支持session,也没有面象对象的概念,只有一大堆的函数!最初也 是在诸多web脚本中徘徊,asp,php,jsp已经是三足顶立了,当然perl,cgi对于那时还是初学者的学生来说太奢侈了。其实那时候也很喜欢那 一大堆的函数,就像当时学习dos的命令一样,但是比起asp来说php3没有session,没有面象对象,而众多小公司都在使用asp是最初不选择 php的原因,而php4最大的进步就是加入了面象对象的思想,增加了服务器与客户机之间的会话管理。现在国内大多的主机提供商都还停留在php4版本 上,但是php5可以说才算得上真正意义的有点模样的语言!

所以,重回php就是用php5进行开发,在我的机器上没有安装过php4的版本,但是在主机上却是php4的版本,所以开发过程中,我不得不小心翼翼,认真的了解他们之间的特性。

1、PHP4没有static,private,protect等修饰,所以开发出来的程序上传到主机上得把所有这些去掉!

2、PHP4中对像调用不能写成 $obj->method_a()->method_b();而PHP5可以,这句语句的意思就是调用$obj的method_a()方法,会返回一个对象,再执行对象的method_b()方法。
那么我上传到我的主机上,我就得把所有这样的语句改成

$tempobj=$obj->method_a();
$tempobj->method_b();

3、复杂字符串中变量解析中php5中可以解析对象的方法属性等,如:

$a="{$db->isconnected}";

而php4不能正确运行。
4、PHP5中可以用构造和析构魔术函数如:

<?php
class MyDestructableClass {
function __construct() {
print "In constructor\n";
$this->name = "MyDestructableClass";
}

function __destruct() {
print "Destroying " . $this->name . "\n";
}
}

$obj = new MyDestructableClass();
?>

而php4中没有,只有与类名同名的函数就是构造函数,而且对与类名同名的构造函数。

php5在php4上还增加了很多,如pdo等,php6可能做了更多的扩展(现在还没有试用php6),想php会越来强大,越来越适合基于WEB的开发。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: