A classA
{publicstaticfunctionwhoami(){echo__CLASS__;
}publicstaticfunctionidentity(){static::whoami();
}
}classBextendsA
{publicstaticfunctionwhoami(){echo__CLASS__;
}
}
B::identity();//B = 5.3*小心使用操作码缓存,没有向后兼容6) MySQLInd*特殊的,高速的专门为PHP设计的MySQL调用库接口*更好的性能*内存的使用优化*内置的驱动(不是适应性的再次扩展)*Many future options due to tight integration with PHP*目前还没有PDO_MySQL 支持mysql(i) onlyfornow7) INI Magic*CGI/FastCGI 支持".htaccess"形式的INI控制*用户可以自己设定每个目录的INI在php.ini中通过[PATH=/var/www/domain.com]设定*优化错误处理*允许用户使用INI变量和常量任何定义的INI文件中*其他几个小的优化
用户自定义的php.ini(.htaccess) 文件名.默认为".user.ini"user_ini.filename=".user.ini"禁止这个特性 设置这个选项为空值
用户自定义php.ini 的缓存失效期(time-to-live) 秒数.默认is 300s (5分钟)
user_ini.cache_ttl=300s
[PATH=/var/www/domain.com]
variables_order=GPC
safe_mode=1[my varibles]
somevar="1234"anothervar=${somevar} ; anothervar==somevar
[ini arrays]
foo[bar]=1foo[123]=2foo[]=38) 扩展的 OpenSSL 函数*使用 OpenSSL Digest 函数foreach(openssl_get_md_methods()as$d) {//MD4, MD5, SHA512... (12 all in all)echo$d."-".openssl_digest("foo","md5");//acbd18db4cc2f85cedef654fccc4a4d8}*使用 OpenSSL 加密函数//BF-CBC, AES-256 CFB1... (54 all in all)foreach(openssl_get_cipher_methods()as$v) {$val=openssl_encrypt("value",$v,"secret");
openssl_decrypt($val,$v,"secret");//value}*扩展的 openssl_pkey_new() 和 openssl_pkey_get_details()
函数 允许访问 内部的 DSA,RSA 和 DH 密匙.其目标在PHP中实现一个简单的OpenId9) SPL(Standard PHP Library) 优化*优化嵌套的目录迭代次数由文件系统迭代*引入 GlobIterator*各种各样的数据结构类:双链表,堆栈,队列,堆,小型堆,大型堆,优先级队列*其他的很绕口的一些特征10) 时间处理进行扩展了和添加*可控制的strtotime() 由 date_create_from_format()实现$date=strtotime("08-01-07 00:00:00");var_dump(date("Y-m-d",$date));//string(10) "2008-01-07"$date=date_create_from_format("m-d-y","08-01-07");var_dump($date->format(''Y-m-d''));//string(10) "2007-08-01"*添加了 date_get_last_errors(),并且返回时间语法分析的错误和警告array(4) {
["warning_count"]=>int(0)
["warnings"]=>array(0) { }
["error_count"]=>int(2)
["errors"]=>array(2) {
[2]=>string(40)"The separation symbol could not be found"[6]=>string(13)"Trailing data"}
}11) getopt() 优化*影响 Windows 平台*本地的执行不依赖于本地getopt()实现.*跨平台支持长选项 (--option)//input: --a=foo --b --cvar_dump(getopt("",array("a:","b::","c")));/*output: array(3) {
["a"]=>
string(3) "foo"
["b"]=>
bool(false)
["c"]=>
bool(false)
}*/12) XSLT Profiling*引入 Xslt Profiling 通过 setProfiling()实现$xslt=newxsltprocessor();$xslt->importStylesheet($xml);$xslt->setProfiling("/tmp/profile.txt");$xslt->transformToXml($dom);
Resulting In:numbermatch name mode Calls Tot 100us Avg0date55811Total55813) E_DEPRECATED 标记*怎么样将一个php发行为一个没有错误的模式?废弃*E_DEPRECATED用来指定废弃的功能,或许未来的版本中会消除。14) 垃圾回收器*为复杂和长时间运行脚本的执行结束周期释放内存的清理
gc_enable();//允许垃圾回收var_dump(gc_enabled());//truevar_dump(gc_collect_cycles());//某个元素的清理gc_disable();//禁止垃圾回收15) NOWDOC*一个 HEREDOC 不再进行转译
HEREDOC$foo=<<
this is$fubarONE;/*string(10) "this is"*/