当前位置: 网学 > 编程文档 > PHP > 正文

PHP5.5 将会带来哪些新特征

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/02
bsp;// direct dereference of string      }  }  function randomBool() {      return [false, true][mt_rand(0, 1)]; // direct dereference of array  } 我不认为在实践中会使用此功能,但它使语言更加一致。请参阅 RFC。调用empty()函数(和其他表达式)一起工作目前,empty()语言构造只能用在变量,而不能在其他表达式。在特定的代码像empty($this->getFriends())将会抛出一个错误。作为PHP5.5 这将成为有效的代码。更多信息请参阅 RFC。获取完整类别名称 PHP5.3 中引入命名空间的别名类和命名空间短版本的功能。虽然这并不适用于字符串类名称:<?php  use Some\Deeply\Nested\Namespace\FooBar;  // does not work, because this will try to use the global `FooBar` class  $reflection = new ReflectionClass(''FooBar''); 为了解决这个问题采用新的FooBar::class语法,它返回类的完整类别名称:<?php use Some\Deeply\Nested\Namespace\FooBar;  // this works because FooBar::class is resolved to "Some\\Deeply\\Nested\\Namespace\\FooBar"  $reflection = new ReflectionClass(FooBar::class); 更多示例请参阅 RFC。参数跳跃 如果你有一个函数接受多个可选的参数,目前没有办法只改变最后一个参数,而让其他所有参数为默认值。RFC上的例子,如果你有一个函数如下:function create_query($where, $order_by, $join_type='''', $execute = false, $report_errors = true) { ... } 那么有没有办法设置$report_errors=false,而其他两个为默认值。为了解决这个跳跃参数的问题而提出:create_query("deleted=0", "name", default, default, false); 我个人不是特别喜欢这个提议。在我的眼睛里,代码需要这个功能,只是设计不当。函数不应该有12个可选参数。标量类型提示 标量类型提示原本计划进入5.4,但由于缺乏共识而没有做。获取更多关于为什么标量类型提示没有做进PHP的信息,请参阅: 标量类型提示比你认为的更难。对于PHP5.5 而言,针对标量类型提示讨论又一次出现,我认为这是一个相当不错的 提议。它需要通过输入值来指定类型。例如:123,123.0,“123”都是一个有效的int参数输入,但“hello world”就不是。这与内部函数的行为一致。function foo(int $i) { ... }  foo(1);      // $i = 1  foo(1.0);    // $i = 1  foo("1");    // $i = 1  foo("1abc"); // not yet clear, maybe $i = 1 with notice  foo(1.5);    // not yet clear, maybe $i = 1 with notice  foo([]);     // error  foo("abc");  // error Getter 和 Setter 如果你从不喜欢写这些getXYZ()和setXYZ($value)方法,那么这应该是你

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号