搜索
首页php教程php手册PHP 的八卦两则

PHP5.3 的正式发布,又重新关注起其语言本身。细心的朋友可能发现,PHP5.3 增加了 goto 语句,这在结构化语言今天似乎是有点不可思议的事情。

按照官方的说法,其实这和我们传统理解的 goto 还是有所差别。PHP 5.3 中的 goto 语句只能在脚本文件以及上下文中跳转,因此它无法从某函数或方法跳到其他的函数或者方法 -- 这不得不让我怀疑是否是“妥协”的结果。

看来 PHP 语言的设计者对 goto 语句应用是方便从从多重循环体中跳出(在其文档中的例子也说明了这点)。但其实这功能的本身也引发了不少的争议,个人也隐约的闻到了潘多拉身上的香水味。

其实“好事者”早在 2007 年就开始“期待”这项“新功能”,相信他现在会很开心。不过有趣的是这篇文章的留言给原作者泼了盆冷水。的确,goto 语句所能完成的功能,其实善用 switch 也能做到,而且更有可读性。

不过不管怎么样,语言本身仅仅是工具而已。从程序的本身角度考虑(不仅仅是 PHP),如果有过多的循环等的语块嵌套,那就说明这段代码必须需要优化了。到底应不应该使用 goto 语句,其实本人和其他的 PHP 人员也有过讨论。

最终,大家较为统一的观点就是,避免使用。

“PHP 的 10 宗罪”

老外较起真来真的非常让人受不了,这不又有好事者总结了 PHP 语言本身语法的 “10 宗罪”。其实,我个人这与其称为“Mistake”,还说是 PHP 提供的“美丽的陷阱”。

例如,文中提到的有关单引号和双引号的变量转义问题。其实这一争论的声音从学 PHP 起就在耳畔充斥。甚至记得当年还有道经典的面试题,就是考单引号和双引号的的速度孰快 -- 回过头来看,这论点就犹如此道面试题一样,是没有任何的意义的。

但这不代表文中的些“Mistake”都可以当作笑谈,有些是的确需要注意的。例如

以下为引用的内容:

$i = 0;
while($i     //some code here
    $i++;
}

这样的写法。对应的其实还有 for 语句,我们可能“手残”多写了个分号(不要不承认),那么就只能祈祷 set_time_limit 的数字小些了。

文中指出的其他些问题,也是我们需要纳入思考的范围中,例如数据库存取的缓存问题。为何 PHP 为何至今没有数据池这样的概念,其实这需要从 PHP 这门语言本身的设计哲学出发了。从此问题其实可以引申争为何 PHP 没有走向 Java 的套路,好吧这问题又可以争论一番了。

文中还有其他类似的条目,都非常的具有争议(也许搞不好这就是作者的初衷),但无论怎么说,其提出的几个问题都是值得我们去思考的。

深夜杂谈随想,乱语之处众位见笑了,欢迎发表您的看法。



声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。