- 與之前不相容的事項
http://www.php.net/manual/en/migration54.incompatible.php - 新功能
http://www.php.net/manual/en/migration54.new-features.php
Built-in development web server in CLI mode
新功能中有一樣 Built-in development web server in CLI mode,是PHP5.4內建了一個簡易的web server,
我覺得蠻有趣的,用來臨時測試PHP5.4的功能也蠻方便,所以就玩了一下。
作業系統:win7
- 首先到 http://windows.php.net/download/ 下載5.4的ZIP壓縮檔(我是下載5.4.7)
- 解壓縮,我是解壓縮到 D:\php-5.4.7
- 設定檔:將 D:\php-5.4.7\php.ini-development 檔名改為 php.ini
- 打開cmd,執行php內建的web server,執行以下指令
cd d:\php-5.4.7
d:
php -S localhost:8000 -t D:\00000 -c D:\php-5.4.7
參數說明
-s 指定監聽的網址和port
-t 指定D:\00000為網頁根目錄
-c 指定php.ini的位置 - 成功後,會有以下訊息

- 在 D:\00000 資料夾底下,放個info.php網頁測試,
用瀏覽器開啟 http://localhost:8000/info.php,結果如下
Traits
另一個新功能 Traits,我覺得也蠻有用的,可重複利用相同的程式碼,也減少使用繼承的一些局限,可視情況需要使用。
http://www.php.net/manual/en/language.oop5.traits.php
例如:
class BaseA{
public function mm() {
echo 'A:Hello ';
}
}
class BaseB{
public function mm() {
echo 'B:Hello ';
}
}
trait TestA{
public function sayHello(){
parent :: mm();
}
}
trait TestB{
public function sayWorld(){
echo 'World!';
}
}
class MyHelloWorldA extends BaseA{
use TestA, TestB;
}
class MyHelloWorldB extends BaseB{
use TestA, TestB;
}
$A = new MyHelloWorldA();
$A->sayHello();
$A->sayWorld();
echo "<br />";
$B = new MyHelloWorldB();
$B->sayHello();
$B->sayWorld();
結果如下
沒有留言:
張貼留言