• PHP5.4.0新特性研究


    PHP5.4.0新特性研究

    1、内建Web Server
     这的确是个好的改进,大大的方便了开发人员。以后开发机不装nginx,httpd也行

    cd $PHP_INSTALL_PATH 
    ./bin/php -S <addr>:<port> -t <docroot> 

    如:
    前台运行:

    ./bin/php -S localhost:80 -t /data/www/ 

    后台运行:

    ./bin/php -S localhost:80 -t /data/www/ >> /tmp/access.log 2>&1 &

    2、数组定义,增加了一种简便写法

    $arr1 = array(1, 2, 3); 
    $arr2 = [1, 2, 3]; // 新增简便写法 
    
    print_r($arr1); 
    print_r($arr2); 
    
    var_dump($arr1 === $arr2); 

    结果:

    Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    )
    Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    )
    bool(true)

    熟悉javascript的同学,应该对以上这种写法相当熟悉,呵呵。

    3、Traits特性

    traits,既有部分接口的特性,又有部分类的特性,可以说是他们杂交的产物。

    trait Object {
    public function get($key) {
    return $GLOBALS[$key];
    } 
    }
    
    trait Common {
    public function set($key, $val) {
    $GLOBALS[$key] = $val;
    }
    
    public function set2($key, $val) {
    $GLOBALS[$key] = $val;
    } 
    }
    
    class App {
    // 引入trait(类似于多继承)
    use Object, Common;
    
    /** 
    * 此方法会覆盖trait中的set2方法(类的重载特性)
    */
    public function set2($key, $val) {
    $GLOBALS[$key] = 'Hello world set by App class!';
    } 
    }
    
    $app = new App();
    $app->set('foo', 'Hello world!');
    echo $app->get('foo');
    echo "
    ";
    echo $app->set2('doo', 'Hello world!');
    echo $app->get('doo');
    echo "
    ";

    结果:

    Hello world!
    Hello world set by App class!

    很像多继承,只是它的实现,跟多继承不同,可以参看官方文档说明。

    4、上传进度反馈支持

    上传进度会存储在SESSION中(默认开启,可在php.ini中修改),也就是说,以后可以用Ajax结合PHP来做上传进度条了。

    还有很多其他特性,有兴趣的可以去官网查看,不在此提了。

  • 相关阅读:
    2013年4月20日
    关于"退耦"
    关于PCB原理图中的FBFB是磁珠的符号电子元器件电路图
    搜索技巧总结
    收集 QQ旋风离线下载帐号
    转载一篇日志
    硬件原理图和实物对比理解_EM310模块电路
    硬件原理图和实物对比理解_zigbee模块
    硬件原理图和实物对比理解_LPC电源模块
    word无法读取此文件,文档可能已损坏_可能的补救方法
  • 原文地址:https://www.cnblogs.com/opensmarty/p/10629313.html
Copyright © 2020-2023  润新知