• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP5.4特性简述{转载}

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

参考:PHP: Build-in web server

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', '[email protected]'];

4. Array dereferencing

function myfunc() {
return array(1,'james', '[email protected]');
}

我认为比数组简短语法更方便的是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方法,而不是直接序列化对象的属性。

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

7. Use mysqlnd by default

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

$./configure --with-mysqli=mysqlnd

现在:

$./configure --with-mysqli

8. 更多

http://cn2.php.net/releases/NEWS_5_4_0_beta2.txt




PS.转载:http://fwso.cn/php/php5-4新特性小结/









鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php版的redis操作库predis操作大全发布时间:2022-07-10
下一篇:
phpmssql中文各种乱码发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap