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的開發。
 
轉一篇老文....
相關文章
相關標籤/搜索