PHP 5.3中引入了您最喜欢的功能是什么?

时间:2010-06-14 12:30:09

标签: php

我正在尝试编译PHP 5.3中引入的功能列表。

我必须在时间允许的情况下退房。我想按功能的有用性顺序执行此操作。

问题是主观的,这就是重点。我希望最终得到一个按社区喜欢的顺序排列的列表。

对于那些需要在2012年或2013年进行历史研究的人来说,这样的清单可能会有用,而且到目前为止我还没有找到一个关于SO的人。

请为每个答案命名一个特定功能,谢谢过去!

10 个答案:

答案 0 :(得分:30)

我最喜欢的功能是magic quotesregister globals 已弃用

现在,任何傻瓜仍然使用这些将获得他们脸上的警告:)

答案 1 :(得分:19)

Lambda lambda lambda!绝对增加了以前缺少的灵活性。

答案 2 :(得分:14)

后期静态绑定!最后一些明智的“正常”继承方式(类似于C或Java)。

例如,我创建了一个基类,它隐藏了访问数据库,对象关系映射,缓存等的所有血腥细节,并且它的子类仅定义:

  • 表格的名称
  • 列名称
  • 亲子关系

答案 3 :(得分:6)

我无法抗拒:显然,添加 GOTO 是自切片面包以来最大的事情。

答案 4 :(得分:6)

绝对Phar个文件

答案 5 :(得分:6)

我意识到你说的是“一个”和“喜欢”,但有时单一的答案并没有削减它以便对意见进行透视。在野外,您可能看不到共享托管服务或开发团队在未来几年内使用任何添加的功能,因此重要性是主观的。这些是通过PHP的5.3 changelog扫描选取的。关于这些功能最初出现在哪个版本,我可能会错,但是......

  1. ?:运营商:快捷方式的快捷方式: $ a =(($ a)?$ a:$ somethingelse)。如果$ a是松散的假,只需将其重新签名为其他内容: $ a = $ a?:$ somethingelse ;现在只是等待 $ a?= $ somethingelse; 。 此外,它就像“OR”运算符: if($ a?:$ somethingelse),如果$ a或$ somethingelse为真,则求值为true。冗余,但在那里。
  2. __ callStatic():现在专门的Singleton类只减少了一个通用类,可能只有5个代码行。
  3. 每个目录的ini文件: PHP的.htaccess文件版本。虽然我还没有尝试过哪些ini值可以切换到哪里。
  4. WIN的附加文件功能和DNS查找支持:至少它会让WIN服从你的命令来创建一个`symlink` /快捷方式,因为你是用户运行脚本。
  5. array_replace: $ a + $ b 保留原始值, array_replace($ a,$ b)替换它们。
  6. 邮件记录:记录所有mail()调用以检查您的站点是否已变为垃圾邮件机器人。虽然我还没有在野外测试这个以确切地看到哪些邮件功能被挂钩(exec()?imap?)。

错失的机会:

  1. [FIXED]调用与父类同名的方法调用构造函数:以前这一点很好。我认为这似乎是一个有用的“功能”。

不喜欢:

  1. Mysqli仍然破碎。
  2. WIN32api已被放弃
  3. DOTNET()从未改进过,但仍然只是COM()的一个奇特的别名。有关PHP和WIN合作的谣言只是谣言。

答案 6 :(得分:5)

PHP的DateTime - 时区感知时间戳的类。它存在之前但在5.3中有了很大的改进。

答案 7 :(得分:3)

在我看来,后期静态绑定是我将使用最多的功能之一。

http://ca2.php.net/lsb

有了这个,现在可以获得最大的继承权。

答案 8 :(得分:3)

起初我对PHP 5.3中的Lambda感到高兴,但现在在我的日常工作中使用5.3开发几个月之后,我发现我很少在PHP中使用Lambda。与我一直使用闭包的JavaScript不同。

5.3中对我来说真正最有用的功能是后期静态绑定。几乎每次我必须在5.2中开发一些东西,我真的很想念它。

只是为了完成它:5.3最糟糕的想法是GOTO。 '努夫说。

答案 9 :(得分:2)

我认为PHAR,Lambda和命名空间。这些功能似乎很有趣。

现在很难回答因为我们没有在整个项目中使用它而且我们已经发现了一些奇怪的行为。

我认为PDT的下一个版本将有助于使用PHP 5.3进行编程。