Re: [請益] 請益php5轉php4問題
※ 引述《nesq (扁Q)》之銘言:
: 新到一家公司,而公司內部開發網頁還在php4的階段。
: 單位主管似乎沒有升級的打算。
: 所以公司內部系統未來仍然用php4開發。
: 在php6 出世的時代。
: 世面上的書籍都是由 php5 , php6 的方式
: 想請問一下,如看到例如 $_GET , $_POST 的寫法,
: 要怎麼轉換為 php4
: $a = $HTTP_GET_VARS 嗎 ?
: 剛學php, 不過似乎要到二手書店才有 php4 的書賣了 ...
我儘就我知道的差異性做個小小的說明。
一、函式部份:
這部份基本上你要查函式庫手冊比較準確。
舉例來說:
file_put_contents()是php5才加上的函式。
所以你用php4版本就不支援。
又像iconv()是4.0.5之後的版本才追加的。
這些函式庫功能的差異恐怕還是要參考官方函式庫手冊或是紙本的函式庫手冊。
二、物件導向部份:
1.建構式:
※物件中的function()我習慣稱之為方法,但也有人習慣叫他函式,都一樣的意思。
原php4方法同物件名稱時,該方法為建構式(物件生成時即自動執行的方法)。
在php5則加上__construct()來定義。
意即不管你是用同名方法或是使用__construct()皆屬合法定義建構式。
class demo{
function demo(){
}
}
同義:
class demo{
function __construct(){
}
}
2.成員:
php4並不具備成員屬性。
但php仍然可以定義屬性,使用的定義是var
class demo{
var $name;
var $address;
}
但在php5追加以下三種成員,使其對於物件導向更加完備:
public:開放成員
private:私有成員
protected:保護成員
class demo{
var $address;
public $name;
private $mydata;
protected $parent;
}
3.介面:
php4並不提供介面定義。
但php5開始可以定義介面,這使得物件導向設計模式的方法能較完整的融入開發。
interface action{
function run();
}
class demo implements action{
...
}
4.虛擬類別:
abstract:定義為虛擬類別時只可繼承,無法被實作。
abstract class demo{
}
class demo2 extends demo{
}
5.追加解構式:
__destruct():當物件被結束時會採取的行動。
其實相關物件的資料還有很多,上面儘是舉常用的部份。
php4和php5最大的諸多差異就是物件導向的部份。
php4感覺像是基礎物件使用。
而php5則是讓物件導向比較完備。
--
音GAME的音符比濁水溪的石頭還多。
比森林裡的樹葉還要繁密。
但我全接的決定比奇萊山還要堅定。
柯拿米.巴萊
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.46.78
※ 編輯: tkdmaf 來自: 220.136.46.78 (12/05 13:44)
推
12/05 13:44, , 1F
12/05 13:44, 1F
推
12/06 00:21, , 2F
12/06 00:21, 2F
※ 編輯: tkdmaf 來自: 203.73.73.176 (12/06 21:52)
討論串 (同標題文章)