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)
现在:
$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'; }