`

[转]php5.3的新特性列表

    博客分类:
  • PHP
阅读更多
1、引入 __DIR__ magic常量 定位脚本的目录
<? 
    echo __DIR__."|".dirname(__FILE__); 
?>

2、允许从2个值的or/and表达式快速的获取一个非空的值
<? 
    echo (1 ?: 0) ."|". ("" ?: 0)."|". var_export(array() ?: array(1), true); 
?>

3、类添加__callStatic方法,等价于 __call(),但它是为调用静态方法准备的。下面来看示例:
<? 
    class xxx{ 
        function __call($func, $args){ 
            echo "function name:".$func; 
            echo "</br />"; 
            echo "args:".var_export($args, true); 
        } 
        static function __callStatic($func, $args){ 
            echo "static function name:".$func; 
            echo "</br />"; 
            echo "static args:".var_export($args, true); 
        } 
    } 
    $x = new xxx(); 
    $x->testfunc("oo"); 
    echo "</br />"; 
    xxx::teststatic("xx"); 
?>

4、动态的调用静态的方法
<? 
    class xx{ 
        static function test(){ 
            echo __METHOD__; 
        } 
    } 
    $c = "xx"; 
    $m = "test"; 
    $c::$m(); 
?>

5、延迟静态绑定(静态处理从编译时延迟到执行时)
<? 
class A{ 
    static function whoami(){ 
        echo __CLASS__; 
    } 

    static function say1(){ 
        self::whoami(); 
    } 

    static function say2(){ 
        static::whoami(); 
    } 
} 

class B extends A{ 
    static function whoami(){ 
        echo __CLASS__; 
    } 
} 

class C extends A{ 
    static function whoami(){ 
        echo __CLASS__; 
    } 
} 

B::say1(); 
C::say2(); 
?>

6、MySQLInd (高速的专门为PHP设计的MySQL调用库接口)
7、INI Magic
8、扩展的 OpenSSL 函数
9、SPL(Standard PHP Library) 优化
10、时间处理进行扩展了和添加
<? 
    $date = strtotime("11-05-17 00:00:00"); 
    echo date("Y-m-d", $date)."|"; 
     
    $date = date_create_from_format("y-m-d", "11-05-17"); 
    echo $date->format("Y-m-d"); 
?>

11、垃圾回收器(为复杂和长时间运行脚本的执行结束周期释放内存的清理)
<? 
    gc_enable(); // 允许垃圾回收 
    var_dump(gc_enabled()); // true 
     
    var_dump(gc_collect_cycles()); // 某个元素的清理 
     
    gc_disable(); // 禁止垃圾回收 
?>

12、NOWDOC(不对HEREDOC进行转译)
<? 
    $fubar = "xxx"; 
     
    $xbar = <<<ONE 
        this is HEREDOC $fubar 
    ONE; 
     
    $abar = <<<'TWO' 
        this is NOWDOC $fubar 
    TWO; 
    echo $xbar."|".$abar; 
?>

13、匿名函数体验
<? 
    $ofun = create_function('$a, $b', 'return $a*$b;'); //不要忘了分号,传统方法 
    echo $ofun(2, 5); 
     
    $nfun = function ($a, $b){ 
        return $a*$b; 
    };//不要忘了分号,现代方法 
     
    echo $nfun(3, 5); 
?>

14、闭包体验
<? 
    $arr = array(1, 2, 3, 5, 6, 7); 
    $res = array_filter($arr, function($v) { return $v >4; }); 
    var_dump($res); 
     
    function countnum(){ 
        $num = 0; 
        $testt = function() use(&$num){ 
            ++$num; 
            echo $num; 
        }; 
        return $testt; 
    } 
     
    $t = countnum(); 
    $t(); 
    $t(); 
?>

15、命名空间
<? 
    namespace xxx; //第一个namespace需要在所有输出之前 
    function t(){ 
        return __NAMESPACE__; 
    } 
     
    namespace xxx; 
     
    function t(){ 
        return __NAMESPACE__; 
    } 
     
    echo \xx\t()."|"; 
    echo \xxx\t(); 
?>
分享到:
评论

相关推荐

    PHP5.3新特性

    PHP5.3新特性概况,静态延迟绑定,命名空间,支持goto,新增__DIR__······

    PHP 5.3新特性.pdf

    PHP 5.3新特性.pdf

    PHP5.3新特性小结

    主要介绍了PHP5.3新特性,结合实例总结分析了PHP5.3新增的命名空间、静态绑定、匿名函数、操作符及垃圾回收机制的相关技巧,需要的朋友可以参考下

    PHP5.3到7的特性总结

    归纳了PHP从5.3到7的新特性。希望帮助到有用的人。

    PHP_5.3_与_PHP_5.2_开发区别和新特性

    PHP_5.3_与_PHP_5.2_开发区别和新特性

    php5.3/5.4/5.5/5.6/7常见新增特性汇总整理

    一、php5.3添加的新特性 1、?:简化的三元运算符 &lt;?php $cur = $cur ? $cur : 1; $cur = $cur ?: 1; 2、匿名函数 &lt;?php $test = function() { echo 'test'; }; $test(); $arr = array(1, 2, 3, 4, 5); $arr ...

    PHP 5.3新特性命名空间规则解析及高级功能

    日前发布的PHP 5.3中,最重要的一个新特性就是命名空间的加入。本文介绍了PHP命名空间的一些术语,其解析规则,以及一些高级功能的应用,希望能够帮助读者在项目中真正使用命名空间。 在这里中我们介绍了PHP命名空间...

    蜂巢平台基于PHP5.3云计算应用框架v0.4.0.1

    蜂巢平台(OpenComb Platform)是一个基于 PHP5.3 实现的深度云计算应用框架。蜂巢采用了扩展模式,系统中的功能和特性,都由扩展提供。 因此,用户可以通过开发和安装扩展来部署各种类型的互联网应用。 “扩展驱动...

    php5.3 注意事项说明

    php5.3新特性1.支持命名空间(namespace)5.3以前复制代码 代码如下:&lt;?phpclass Zend_Db_Table_Select {//表示当前这个类文件位于Zend/Db/Table下}5.3复制代码 代码如下:&lt;?...?... } public st

    PHPvod视频点播系统源码v2.5forphp5.3.xUTF-8

    PHPvod Studio(简称pv)是一款免费开源,基于PHP Mysql开发的视频点播系统,系统拥有众多的优秀功能和特性,在社区成员的积极参与下,在易用性、扩展性和性能方面不断优化和改进,使得PHPvod可以在极为繁忙的服务器...

    Zend Server with PHP5.3 v5.6.0 SP1

    如果这些特性对您比较重要(如果您使用的服务器要为关键业务 PHP 应用程序提供服务,这些特性应该比较重要),那么您应考虑购买 Zend Server 的商业版,这样您将有权使用以上全部特性并能得到 Zend 提供的技术支持。...

    Laravel 5.3 参考手册 中文CHM版

    Laravel 5.3 在 5.2 的基础上继续进行优化,提供了大量新功能和新特性:基于驱动的通知系统;通过Laravel Echo提供强大的实时支持;通过Laravel Passport实现无痛的OAuth2服务器;通过Laravel Scout实现全文模型搜索...

    PHPvod视频点播系统 2.6 for php5.3.x utf-8.rar

    PHPvod视频点播系统 2.6 for php5.3.x utf-8 系统改进列表:2014-01-27 1、修正所有已知的BUG及系统高危漏洞. 2、优化监听器模块 3、新增文档模块及文档调用标签 4、优化RSS模块 5、新增播放地址预处理接口(pv...

    PHPvod 视频点播系统 v2.5 for php5.3.x GBK

    PHPvod Studio(简称pv)是一款免费开源,基于PHP+Mysql开发的视频点播系统,系统拥有众多的优秀功能和特性,在社区成员的积极参与下,在易用性、扩展性和性能方面不断优化和改进,使得PHPvod可以在极为繁忙的服务器...

    PHPvod视频点播系统 2.5 for php5.3.x gbk.rar

    PHPvod视频点播系统 2.5 for php5.3.x gbk 系统改进列表:2013-09-18 1、优化视频上传模块 2、新增{php}模板标签,支持在模板中写原生的php语句 3、更新kindeditor,默认允许上传图片,支持自定义功能按钮 4、...

    PHP和mysql+web开发

    本书将PHP开发与MySQL应用...本书是第4版,经过了全面的更新、重写和扩展,包括PHP 5.3最新改进的特性(例如,更好的错误和异常处理),MySQL的存储过程和存储引擎,Ajax技术与Web 2.0以及Web应用需要注意的安全问题。

    java企业oa源码-SimplePHP:简洁明了PHP框架,全面支持php5.3+

    我在准备毕业项目的时候,想找一个可以充分利用php5.3+新特性的php框架。 但是几乎所有的 php 框架都保持与较低版本的 php 兼容,所以我不能使用命名空间来管理类(实际上命名空间在这些框架中没有用)。 因此,我...

Global site tag (gtag.js) - Google Analytics