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

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

PHP5.4正式前两天发布了,之前有看了一些PHP5.4主要特性相关文章,因此在这里小结一下。

其中好几点更新是由Laruence贡献的!本文部分内容也是源自Laruence的博客。

1. Buid-in web server

PHP5.4内置了一个简单的Web服务器,这样在做一些简单程序就方便多了,省去了环境配置的工作,特别对于初学者来说。
把当前目录作为Root Document只需要这条命令即可:

1
$ php -S localhost:3300

也可以指定其它路径:

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

还可以指定路由:

1
$ php -S localhost:3300 router.php

参考:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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
 
*/

参考:

3. Short array syntax

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

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

4. Array dereferencing

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

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

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

在PHP5.4中这样就行了:

1
echo
myfunc()[1];

5. Upload progress

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

参考:

6. JsonSerializable Interface

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

7. Use mysqlnd by default

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

1
$.
/configure
--with-mysqli=mysqlnd

现在:

1
$.
/configure
--with-mysqli

8. 更多

转载地址:http://wqfnl.baihongyu.com/

你可能感兴趣的文章
Wijmo 更优美的jQuery UI部件集:发现 Wijmo
查看>>
你敢不敢打破“无形门”
查看>>
美国政府提出下一步网络空间安全建设的三项重点工作
查看>>
我的VMware认证设计专家(VCDX)之路
查看>>
cocos2d-x中Node中重要的属性
查看>>
IDC:中国安全市场发展潜力巨大
查看>>
浅谈下一代Windows Server的RDS
查看>>
MySQL日志审计 帮你揪出内个干坏事儿的小子
查看>>
PureFTPD配置指南
查看>>
存储虚拟化技术之解读
查看>>
VMware View 5.0从菜鸟到高手系列 10 –远程图形工作站配置篇
查看>>
《VMware虚拟化与计算应用案例详解》第三次印刷!
查看>>
阻止保存要求重新创建表的更改
查看>>
成长的故事
查看>>
open***负载均衡高可用多种方案实战讲解01(老男孩主讲)
查看>>
SQL Server 2012笔记分享-12:理解备份与恢复新特性
查看>>
FAQ:configuration manager未找到站点来管理此客户端
查看>>
TiDB VS MariaDB10.1.19 Enterprise性能压测
查看>>
百度云同步盘网络异常【1】解决办法(续)
查看>>
谁动了我的文件?
查看>>