PHP5.4.0新特性研究

来源:互联网 发布:淘宝微信营销 编辑:程序博客网 时间:2024/05/21 10:42

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、数组定义,增加了一种简便写法

<?php$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,既有部分接口的特性,又有部分类的特性,可以说是他们杂交的产物。

<?phptrait 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 "\n";echo $app->set2('doo', 'Hello world!');echo $app->get('doo');echo "\n";?>

结果:

Hello world!Hello world set by App class!

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

4、上传进度反馈支持

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

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

参考链接:

http://php.net/

原创粉丝点击