zoukankan      html  css  js  c++  java
  • 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来做上传进度条了。

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

  • 相关阅读:
    axios基本用法
    Iframe父子窗口之间的跨域事件调用和传值
    js 比较两个日期的大小
    小程序webview实践
    小程序入口构造工具&二维码测试工具
    小程序无限层级路由方案
    TypeScript基础类型,类实例和函数类型声明
    小程序多业务线融合【完整分包业务接入】
    浅谈React16框架
    CSS Modules 与 scoped 的不一样
  • 原文地址:https://www.cnblogs.com/opensmarty/p/10629313.html
Copyright © 2011-2022 走看看