php5.3 注意事項說明_php技巧

來源:互聯網
上載者:User

php5.3
新特性
1.支援命名空間(namespace)
5.3以前

複製代碼 代碼如下:

<?php
class Zend_Db_Table_Select {
//表示當前這個類檔案位於Zend/Db/Table下
}

5.3
複製代碼 代碼如下:

<?php
namespace Zend/Db/Table
class Select {
}

2.支援延遲靜態繫結
5.3以前(__CLASS__獲得類名)self::who()
複製代碼 代碼如下:

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        self::who();
    }
}
class B extends A {
    public static function who() {
         echo __CLASS__;
    }
}
B::test();
?>

輸出A
5.3(__CLASS__獲得類名)static::who();
複製代碼 代碼如下:

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // 這裡實現了延遲的靜態繫結
    }
}
class B extends A {
    public static function who() {
         echo __CLASS__;
    }
}
B::test();
?>

輸出B
 
3.支援goto語句
多數電腦程式設計語言中都支援無條件轉向語句goto,當程式執行到goto語句時,即轉向由goto語句中的標號指出的程式位置繼續執行。
 
4.支援閉包
複製代碼 代碼如下:

<?php
$msg = "hello";
$callback  =  function() use($msg){
    print_r($msg);
}
$msg = "hello world!";
callback($callback);

輸出
hello
hello world!

5.新增魔術方法__callStatic()
PHP中原本有一個魔術方法__call(),當代碼調用對象的某個不存在的方法時該魔術方法會被自動調用。
新增的__callStatic()方法則只用於靜態類方法。當嘗試調用類中不存在的靜態方法時,__callStatic()魔術方法將被自動調用。

6.新增一種常量定義方式(有時代碼出錯,如undefined HE,你要看看是否支援const)

複製代碼 代碼如下:

<?php
const CONSTANT = 'Hello World';

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.