- 與之前不相容的事項
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();結果如下
沒有留言:
張貼留言