php5.4新特性实践

Posted 石涛涛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php5.4新特性实践相关的知识,希望对你有一定的参考价值。

本机安装的是wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b.exe集成包

自带了php5.4

1. 数组写法

定义一个数组

过去:

$arr = array(1=>\'ma\',2,3,4)

现在:

1 $arr = [1=>\'ma\',2,3,4];

简洁了不少。

2. 如果函数返回的是个数组,要获取其值

过去:

$arr = reArr(); echo $arr[0]

现在:

复制代码
function reArr(){
  return [1,2,3];
}

//直接
echo reArr()[0]
复制代码

3.  php5.4内建了web服务器。

可以省去我们配置apache的时间,方便我们快速搭建环境,尤其适合给客户演示项目和新手使用,

我们可以通过以下方式开启,进到cmd命令行cd到php的安装目录中,如我的是cd D:\\wamp\\bin\\php\\php5.4.3

执行

php.exe -S localhost:8999  // 8999端口可以自己指定

看到如下提示,说明启动成功了

上面说明文档根目录是D:\\wamp\\bin\\php\\php5.4.3

按Ctrl+C 退出

在D:\\wamp\\bin\\php\\php5.4.3下面新建个index.php,随便输入php语句,浏览器输入localhost:8999看看结果吧

4. Traits关键字

其他特性还有,这个属于面向对象,暂不考虑 参考:http://tabalt.net/blog/php-traits/

5.其他

Session提供了上传进度支持,需要在php.ini开启session.upload_progress.enabled,但我的配置文件竟然没有这个参数,就此作罢。

详细见:http://www.laruence.com/2011/10/10/2217.html

补充一句,IDE中Netbeans对php5.4支持较好,并且有视频介绍,可以自己在官网找找看

------------------------------------------2013.12.8补充

5.4中isset()函数的一个变化,检查字符的非数字偏移量将会返回 FALSE

复制代码
$str = "hello world";
if(isset($str["foo"])){
    // with PHP5.3 and earlier, it will output below
    echo \'Below is not correcrt:\', \'<br />\';
    echo \'$str["foo"] = \' . $str["foo"];
}
else{
    // with PHP5.4 and later, it will output below
    echo \'$str["foo"] is not set\';
}
复制代码

 

以上是关于php5.4新特性实践的主要内容,如果未能解决你的问题,请参考以下文章

PHP5.3--PHP7 新特性总结

PHP的学习--Traits新特性

现代 PHP 新特性系列 —— Trait 概览

面试必问的C++11新特性代码实践

译ECMAScript 2016, 2017, 2018 新特性之必读篇

面向对象第八天 -----新特性Trait