博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
试玩 PHP 5.4 的新特性
阅读量:6291 次
发布时间:2019-06-22

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

1. 实例化时访问类成员

class Human{    function __construct($name)    {        $this->name = $name;    }    public function hello()    {        return "Hi " . $this->name;    }}// old style$human = new Human("Gonzalo");echo $human->hello();// new cool styleecho (new Human("Gonzalo"))->hello();

2. 短数组定义语法

$a = [1, 2, 3];print_r($a);

3. 支持 Class::{expr}() 语法

foreach ([new Human("Gonzalo"), new Human("Peter")] as $human) {    echo $human->{'hello'}();}

4. 通过数组间接调用方法

$f = [new Human("Gonzalo"), 'hello'];echo $f();

5. Callable typehint

function hi(callable $f) {    $f();}hi([new Human("Gonzalo"), 'hello']);

6. Traits

trait FlyMutant {    public function fly() {        return 'I can fly!';    }}class Mutant extends Human {    use FlyMutant;}$mutant = new Mutant("Storm");echo $mutant->fly();

7. 支持数组提领(Array dereferencing support)

function data() {    return ['name' => 'Gonzalo', 'surname' => 'Ayuso'];}echo data()['name'];

 

另外,  Array derefencing也可以出现再赋值语句的左值中, 也就是理论上你可以这么写:

explode(",", "test1, test2")[3] = "phper";

 

目前多数 IDE 还不支持这些特性,因此可能会报语法错误。

更多 PHP 5.4 新特性的一些代码演示请看。

 

转自:

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

你可能感兴趣的文章
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>
智能照明造福千家万户 家居智能不再是梦
查看>>
物联网如何跳出“看起来很美”?
查看>>
浅谈MySQL 数据库性能优化
查看>>
《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档
查看>>
灵动空间 创享生活
查看>>