博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP5.4新特性小结
阅读量:7012 次
发布时间:2019-06-28

本文共 1759 字,大约阅读时间需要 5 分钟。

PHP5.4似乎很受关注,今天看了一些PHP5.4主要特性相关文章,因此在这里小结一下。

昨天(2011-10-26)官网发布PHP5.4.0beta2,其中好几点更新是由贡献的!本文部分内容也是源自Laruence的博客。

1. Buid-in web server

PHP5.4内置了一个简单的Web服务器,这样在做一些简单程序就方便多了,省去了环境配置的工作,特别对于初学者来说。

把当前目录作为Root Document只需要这条命令即可:

$ php -S localhost:3300

也可以指定其它路径:

$ php -S localhost:3300 -t /path/to/root

还可以指定路由:

$ php -S localhost:3300 router.php

参考:

2. Traits

Traits提供了一种灵活的代码重用机制,即不像interface一样只能定义方法但不能实现,又不能像class一样只能单继承。至于在实践中怎样使用,还需要深入思考。

官网的一个例子:

trait SayWorld {        public function sayHello() {                parent::sayHello();                echo "World!\n";                echo 'ID:' . $this->id . "\n";        }}class Base {        public function sayHello() {                echo 'Hello ';        }}class MyHelloWorld extends Base {        private $id;        public function __construct() {                $this->id = 123456;        }        use SayWorld;}$o = new MyHelloWorld();$o->sayHello();/*will output:Hello World!ID:123456 */

参考:http://cn.php.net/manual/en/language.oop5.traits.php

3. Short array syntax

PHP5.4提供了数组简短语法:

$arr = [1,'james', 'james@fwso.cn'];

4. Array dereferencing

function myfunc() {    return array(1,'james', 'james@fwso.cn');}

我认为比数组简短语法更方便的是dereferencing,以前我们需要这样:

$arr = myfunc();echo $arr[1];

在PHP5.4中这样就行了:

echo myfunc()[1];

5. Upload progress

Session提供了上传进度支持,通过$_SESSION["upload_progress_name"]就可以获得当前文件上传的进度信息,结合Ajax就能很容易实现上传进度条了。

参考:http://www.laruence.com/2011/10/10/2217.html

6. JsonSerializable Interface

实现了JsonSerializable接口的类的实例在json_encode序列化的之前会调用jsonSerialize方法,而不是直接序列化对象的属性。

参考:

7. Use mysqlnd by default

现在mysql, mysqli, pdo_mysql默认使用mysqlnd本地库,在PHP5.4以前需要:

$./configure --with-mysqli=mysqlnd

现在:

$./configure --with-mysqli

 

转自:

转载于:https://www.cnblogs.com/kazaff/archive/2012/03/02/2376762.html

你可能感兴趣的文章
我的友情链接
查看>>
我的友情链接
查看>>
android模仿铃声选择功能
查看>>
我的友情链接
查看>>
配置DHCP服务器
查看>>
trim triml trimr
查看>>
我的友情链接
查看>>
温故知新——JS中创建对象或类的方法
查看>>
centos 正确安装vitualbox
查看>>
www.exoweb.net
查看>>
清华大学MBA在职班第一学年第二学期课表
查看>>
PHP缓存技术
查看>>
Webix合集
查看>>
利用ScopeGuard编写异常安全的代码
查看>>
软RAID+LVM的一写问题!!!
查看>>
mongodb shard
查看>>
java中的值传递和引用传递
查看>>
Oracle10gR2 On RHEL5 x86_64安装技术文档(原版英文)
查看>>
MySQL binlog
查看>>
java runtime 入门
查看>>