`

[转]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是PHP编程语言的一个重要版本更新,它在2009年发布,带来了多项新特性和改进。以下是根据文件提供的信息,对PHP5.3新特性知识点的详细总结: 1. 命名空间的引入 命名空间是PHP5.3中最大的一个新增功能。它为...

    PHP 5.3新特性.pdf

    PHP 5.3新特性.pdf

    PHP5.3最新版本

    PHP5.3是PHP语言的一个重要版本,发布于2010年,它引入了许多新特性和改进,为开发者提供了更强大的工具和更高的性能。在这个版本中,PHP进行了许多内部优化,增强了其在Web开发中的功能,特别是对于大型应用程序的...

    php5.3php_curl

    PHP 5.3是一个重要的里程碑,引入了许多新特性,比如命名空间、lambda函数(也称为闭包)、 late static binding 和 __callStatic 方法,这些都极大地提升了代码的组织性和可维护性。 压缩包中的“php_curl.dll”...

    php5.3 64位WampServer

    总的来说,"php5.3 64位WampServer"是开发人员在Windows环境中进行PHP开发的理想工具,尤其是对于那些依赖于PHP 5.3特性的项目。它的集成环境使得本地开发和测试变得更加便捷,而64位版本则确保了高效的数据处理能力...

    php5.3的memcache

    PHP5.3是PHP的一个重要版本,引入了新的特性并修复了一些问题。由于PHP5.3是非线程安全的,因此在选择Memcache扩展时,需要使用与之匹配的非线程安全版本。描述中提到“好些都是单独版本”,这意味着针对特定PHP...

    PHP.zip_php5.3_php5.3 chm

    ...PHP 5.3是PHP的一个重要版本,它引入了许多新特性、改进和优化,...《PHP5.3参考手册》正是为了帮助开发者掌握这些技术而编写的,包含了全面的文档和实例,对于学习和查阅PHP 5.3的特性和用法,无疑是一份宝贵的资源。

    php5.3-php5.4mongo扩展

    本文所提及的资源“php5.3-php5.4mongo扩展”正好解决了这个问题,它包含了适用于不同环境的预编译扩展,确保了在PHP 5.3和5.4版本下的可用性。 在提供的压缩包文件中,有四个不同版本的扩展: 1. ...

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

    升级到 PHP 5.3 时,开发者需要注意代码中可能存在的与新特性冲突的地方,确保所有功能都能正常工作。同时,利用这些新特性可以使代码更加优雅、高效。名称空间和闭包尤其对大型项目和框架开发有着显著的改进。

    php5.3安装包(LINUX)

    PHP 5.3是PHP语言的一个重要版本,它在2010年发布,引入了许多新特性、性能优化以及安全改进。在Linux环境下安装PHP 5.3是为服务器配置Web开发环境的关键步骤。以下是对PHP 5.3在Linux系统安装过程中的详细解释和...

    php_solr.dll ,php5.3版本

    描述中提到“php5.3版本的php_solr.dll,很难找到的哦”,这暗示了几个关键点: 1. **兼容性问题**:随着 PHP 不断更新,旧版本的支持逐渐减少,像 PHP 5.3 这样的较早版本的扩展可能难以在官方源或常规渠道找到。 2...

    php_mongo.dll php5.3 vc6

    标题中的"php_mongo.dll php5.3 vc6"指的是PHP的一个扩展模块,用于连接和操作MongoDB数据库。这个特定的版本是为PHP 5.3编译的,并且使用了Visual C++ 6 (VC6)作为编译器。在PHP环境中,扩展通常以动态链接库(DLL...

    兼容到php5.3以上(php5.6,php7)的Smtp类

    标题提到的"兼容到php5.3以上(php5.6,php7)的Smtp类"正是为了解决这个问题。在PHP 5.3及以上版本中,有一些函数发生了变化或被废弃,导致基于早期版本PHP编写的SMTP类无法正常工作。描述中提到的"email.class....

    PHP 5.3入门经典(所有的源码)

    在PHP 5.3版本中,引入了一些重要的新特性,这些特性对于提升开发效率和代码质量起到了关键作用。首先,让我们了解一下这个版本中的主要改进: 1. **命名空间(Namespaces)**:这是PHP 5.3引入的一个重要特性,...

    PHP5.3.2011中文帮助文档手册

    PHP5.3版本是PHP的一个重要里程碑,它引入了许多新特性、改进和优化,以提升性能和开发效率。2011年的修订版中文帮助文档手册为中文开发者提供了详尽的指导,帮助他们理解和利用PHP5.3的新功能。 **主要特性与更新*...

    PHP5.3到7的特性总结

    ### PHP5.3到PHP7的新特性总结 随着PHP版本的不断迭代,其语言特性也得到了显著增强。本文将从PHP5.3升级至PHP7的过程中遇到的一些关键变化出发,详细解析这些变化带来的影响以及如何应对。 #### PHP5.3到PHP7的...

    适合php5.3 的memcache.dll文件

    标签中的“php5.3”是指PHP 5.3系列版本,这是一个重要的里程碑,因为它引入了许多新特性,如命名空间、 Late Static Binding 和闭包等,这些改进使得PHP更加现代化和强大。而“memcache.dll”和“memcache”分别指...

    php5.3版本开发环境源代码

    PHP5.3是PHP发展过程中的一个重要里程碑,引入了许多新特性,优化了性能,并修复了大量的bug,为开发者提供了更为强大的工具和更稳定的开发环境。本文将深入探讨PHP5.3版本的开发环境源代码,揭示其中的关键知识点。...

    PHP5.3新特性小结

    以下将详细介绍PHP5.3的一些关键新特性: 1. **命名空间(Namespaces)** 命名空间是PHP5.3引入的重要特性,它为了解决在大型项目中可能出现的类、函数和常量命名冲突问题。通过命名空间,我们可以将相关的类和...

    php5.3与apache2.2.15

    标题 "php5.3与apache2.2.15" 提到的是两个关键组件:PHP 5.3和Apache HTTP Server 2.2.15,它们是搭建Web服务器环境时常用的开源软件。PHP是一种广泛使用的服务器端脚本语言,主要用于开发动态网页应用,而Apache则...

Global site tag (gtag.js) - Google Analytics