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

Kri*_*ris 9 php

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

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

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

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

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

Ale*_*exV 30

我最喜欢的特点是,magic quotesregister globals已经被弃用.

现在,任何仍然使用这些的傻瓜都会得到正确的警告:)

  • 具有讽刺意味的是,PHP 5.3的最大成就是中途删除了一个功能. (15认同)
  • 真正具有讽刺意味的是,尽管所有讨厌的php仍然运行着这么多网站最大的网站. (10认同)

小智 19

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

  • `create_function()`是自eval()以来我见过的最丑陋的东西之一.当然你可以通过在变量中放置变量来伪造范围,并用各种各样的疯狂构建函数,比如for循环附加一个字符串,但它只是......然后是Anon函数,这个世界并不是一个黑暗的地方再也没有...除了该死的不友好的"使用"关键字. (3认同)

eye*_*eam 14

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

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

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


Ira*_*ter 6

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

  • 只是GOTO意大利面条. (5认同)
  • 不应该是意大利面而不是切片面包吗?:p (2认同)
  • GOTO让我回想起批量编码 (2认同)

jor*_*ens 6

绝对是Phar文件


bob*_*yer 6

我意识到你说的是"一个"和"喜欢",但有时候一个单一的答案并没有削减它以提出意见.在野外,您可能看不到共享托管服务或开发团队在未来几年内使用任何添加的功能,因此重要性是主观的.这些是从PHP的5.3更新日志扫描中选取的.这些功能最初出现在哪个版本中我可能会错,但是......

  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合作的谣言只是谣言.


gir*_*aff 5

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