PHP5.3的date_create_from_format()函数
PHP的其中一位主要贡献者DerickRethans在他的网志上表示,PHP5.3将会提供一个比strtotime()和date_create()函式更有弹性的新函式date_create_from_format()与及DateTime的新静态成员函式createFromFormat(),回应PHP社群长期以来提出的要求。
strtotime()和date_create()一直只接受GNU的日期和时间格式,其中包括美国的mm/dd/yyyy,很多其他语言和国家的格式,包括英式的dd/mm/yyyy等均不能解读,刚结束的伦敦PHP会议便有出席者对此大表不满,DerickRethans于是决定在快将推出的PHP5.3加入这两个更有弹性的日期时间转换函式,例如函式date_create_from_format()将接受两个引数,第一个引数表示格式,第二各引数是日期时间字串,例如:
<?php
$dt=date_create_from_format('d/m/Y',"02/03/2008");
echo$dt->format('d/m/Y'),"
";
?>
若果提供的格式不能用来解读日期时间字串,这个函式会送回false,我们跟着可以调用另一个新函式date_get_last_errors()来检视字串哪些部分出错,非常方便。至于格式的表达式,则跟date()所使用的没有分别。
DerickRethans标示新函式的使用说明很快便会在官方文档网站内公布。
===============================================================
同步贴上,新常量__DIR__
LarsStrojny在他的个人网志内介绍了将会在PHP5.3出现的新常数__DIR__,它将会继__LINE__、__FILE__、__FUNCTION__、__CLASS__、__METHOD__之后成为「魔法常数」(magicconstant)的最新成员,实作上__DIR__相当于dirname(__FILE__),例如在档案/var/www/host/app/foo.php内调用__DIR__,得到的结果是/var/www/host/app。
运用上魔法常数是在编译阶段解读,并非像dirname()等函式在执行阶段解读,所以执行上快得多。