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来做上传进度条了。

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

  • 相关阅读:
    初识函数作业
    HTTP协议那些事儿(Web开发补充知识点)
    文件操作
    文件操作作业
    深浅拷贝
    深浅拷贝作业
    小数据池 is和== 再谈编码
    小数据池/is和==/再谈编码作业
    如何用好 github 中的 watch、star、fork
    Navicat Premium Mac 12 破解(亲测可用!!!)
  • 原文地址:https://www.cnblogs.com/opensmarty/p/10629313.html
Copyright © 2011-2022 走看看