PHP的其中一位主要貢獻者Derick Rethans在他的網志上表示,PHP 5.3將會提供一個比strtotime()和date_create()函式更有彈性的新函式date_create_from_format()與及 DateTime的新靜態成員函式createFromFormat(),回應PHP社群長期以來提出的要求。
strtotime()和date_create()一直只接受GNU的日期和時間格式,其中包括美國的mm/dd/yyyy,很多其他語言和國家的格式,包括英式的dd/mm/yyyy等均不能解讀,剛結束的倫敦PHP會議便有出席者對此大表不滿,Derick Rethans於是決定在快將推出的PHP 5.3加入這兩個更有彈性的日期時間轉換函式,例如函式date_create_from_format()將接受兩個引數,第一個引數表示格式,第二各引數是日期時間字串,例如:
<?php
$dt = date_create_from_format( 'd/m/Y', "02/03/2008" );
echo $dt->format( 'd/m/Y' ), "\n";
?>
若果提供的格式不能用來解讀日期時間字串,這個函式會送回false,我們跟著可以調用另一個新函式date_get_last_errors()來檢視字串哪些部分出錯,非常方便。至於格式的表達式,則跟date()所使用的沒有分別。
Derick Rethans標示新函式的使用說明很快便會在官方文檔網站內公布。
===============================================================
同步貼上,新常量__DIR__
Lars Strojny在他的個人網志內介紹了將會在PHP 5.3出現的新常數__DIR__,它將會繼__LINE__、__FILE__、__FUNCTION__、__CLASS__、__METHOD__ 之後成為「魔法常數」(magic constant)的最新成員,實作上__DIR__相當於dirname(__FILE__),例如在檔案 /var/www/host/app/foo.php內調用__DIR__,得到的結果是/var/www/host/app。
運用上魔法常數是在編譯階段解讀,並非像dirname()等函式在執行階段解讀,所以執行上快得多。