PHP5.3中引入的您最喜欢的特性是什么?
我试图编译一个PHP5.3中引入的特性列表 如果时间允许,我必须退房。我想按照功能有用性的顺序来做这件事 问题是主观的,这就是重点。最后,我想列出一个按社区喜好排序的列表 这样一份清单有望对2012年或2013年需要进行历史研究的许多人有所帮助,而我至今还没有找到一份这样的清单PHP5.3中引入的您最喜欢的特性是什么?,php,Php,我试图编译一个PHP5.3中引入的特性列表 如果时间允许,我必须退房。我想按照功能有用性的顺序来做这件事 问题是主观的,这就是重点。最后,我想列出一个按社区喜好排序的列表 这样一份清单有望对2012年或2013年需要进行历史研究的许多人有所帮助,而我至今还没有找到一份这样的清单 请为每个答案指定一个特定的功能,感谢过去 我认为是PHAR、Lambda和namespace。这些特征似乎很有趣 现在很难回答,因为我们没有在整个项目中使用它,而且我们已经发现了一些奇怪的行为 我认为下一个版本的PDT将
请为每个答案指定一个特定的功能,感谢过去 我认为是PHAR、Lambda和namespace。这些特征似乎很有趣 现在很难回答,因为我们没有在整个项目中使用它,而且我们已经发现了一些奇怪的行为
我认为下一个版本的PDT将有助于使用PHP5.3编程。我最喜欢的功能是
魔术引号和注册全局变量
已被弃用
现在,任何仍然使用这些的傻瓜都会得到当面警告:)Lambda Lambda Lambda Lambda!肯定增加了以前缺少的灵活性。我无法抗拒:显然,添加转到是自切片面包以来最大的事情。后期静态绑定!最后是一些合理的“正常”继承方式(类似于C或Java)
例如,我创建了一个基类,它隐藏了访问数据库、对象关系映射、缓存等的所有细节,它的子类仅定义:
- 表名
- 列名
- 亲子关系
肯定是文件在我看来,后期静态绑定是我将使用最多的功能之一
有了这一点,现在就有可能最大限度地利用继承权。我知道你说的是“一”和“喜欢”,但有时一个单一的答案并不能将其切分为正确的观点。在野外,您可能不会看到共享托管服务或开发团队在未来几年中使用任何附加功能,因此重要性是主观的。这些是从PHP的扫描中挑选出来的。关于这些功能首次出现在哪个版本,我可能是错的,但是
?:运算符:快捷方式的快捷方式:$a=($a)?$a:$somethingelse)。如果$a大致上是假的,就把它改成别的:$a=$a?:$somethingelse;现在只是在等$a?=$somethingelse;。
此外,它类似于“OR”操作符:if($a?:$somethingelse),如果$a或$somethingelse为true,则计算结果为true。多余的,但有。
__callStatic():现在,专门的单例类简化为一个通用类,可能有5行代码长。
每个目录ini文件:PHP版本的.htaccess文件。虽然我还没有试验ini值可以在哪里切换。
WIN的附加文件功能和DNS查找支持:至少WIN会毫无疑问地按照您的命令创建一个“symlink”/快捷方式,因为您是运行脚本的用户。
array_replace:array_replace($a,$b)替换原始值,而$a+b保留原始值。
邮件日志:记录所有Mail()调用,以检查您的站点是否已变成垃圾邮件机器人。虽然我还没有在野外测试,以确定哪些邮件函数连接到(exec()?imap?)中。
错过的机会:
[FIXED]调用与父类同名的方法会调用构造函数:以前最好知道这一点。我认为这似乎是一个有用的“功能”。
不喜欢:
Mysqli仍然是坏的。
WIN32api已被放弃
DOTNET()从未改进过,仍然只是COM()的一个别致别名。PHP和WIN合作的传闻只是传闻。
起初我对PHP5.3中的Lambda很满意,但现在在我的日常工作中使用5.3开发了几个月之后,我发现我很少在PHP中使用Lambda。与JavaScript不同,JavaScript总是使用闭包
5.3中最有用的特性是后期静态绑定。几乎每次我必须在5.2中开发一些东西时,我都非常想念它
为了让它更完整:5.3最糟糕的想法是GOTONuff说。PHP的类用于时区感知时间戳。它以前存在,但在5.3中有了很大的改进。在一个繁重的ERP系统上工作时,我只能想到PHP5.3中令人恼火的新特性:d名称空间的巧妙和一致的使用。。。哦,对不起,我以为你说PHP15.3…5.3变更日志可能是相关的:Netbeans已经提供了5.3支持(至少在6.9RC中是这样)。我喜欢名称空间(但没有PHP使用的那么多实现),并且对PHAR非常感兴趣。lambda也很整洁。但是这是一篇文章的三个特点,这个列表应该有三篇帖子。具有讽刺意味的是,PHP 5.3最大的成就是将一个功能删除了一半。真正具有讽刺意味的是,尽管有这么多的仇恨,PHP仍然运行着这么多最大的网站。@Ira Baxter a kluge不是一个功能,而是一种负担。@banzaimonkey:冒着引发火焰战争的风险,我要注意的是,我认为PHP作为一个整体可以被称为kluge。@Ira Baxter已经有了一个页面;)不应该是意大利面条而不是切片面包吗pGOTO让我想起了批量编码,让我想起了BASIC。测试后,这些标签似乎必须遵循“/[a-z_uu][a-z0-9_u]*/i”命名模式。是的,“u”是一个有效的标签(以及一个有效的函数和变量名,但这是用于另一个线程的)。谢天谢地,至少它不能以数字开头,goto 10
。否则,你将如何在99和100之间加入另一条关键的行?这不是Apple Basic。查看PHP US手册页,第二条评论。让我毛骨悚然。create_function()
是我自eval()以来看到的最丑陋的事情之一当然,你可以通过在字符串中放置变量来伪造作用域,并用各种疯狂的方式构建函数,比如for循环appe