php5与php4之间的距离

     最近在作一个整站内容管理系统(见本站首页),另外还在作一个朋友的办公楼信息管理系统!老实说才用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的版本,因此开发过程当中,我不得不当心翼翼,认真的了解他们之间的特性。

    一、PHP4没有static,private,protect等修饰,因此开发出来的程序上传到主机上得把全部这些去掉!

    二、PHP4中对像调用不能写成 $obj->method_a()->method_b();而PHP5能够,这句语句的意思就是调用$obj的method_a()方法,会返回一个对象,再执行对象的method_b()方法。
    那么我上传到个人主机上,我就得把全部这样的语句改为
$tempobj=$obj->method_a();
$tempobj->method_b();
       三、复杂字符串中变量解析中php5中能够解析对象的方法属性等,如:
$a="{$db->isconnected}";
      而php4不能正确运行。
      四、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的开发。
 
转一篇老文....
相关文章
相关标签/搜索