欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP的问题:全面阐述PHP网站设计的问题

程序员文章站 2024-02-18 19:00:10
...
前言

我的脾气古怪。我会抱怨很多东西。这个星球上大多数技术我都不喜欢。

PHP不仅使用起来尴尬,还有要嘛我想要的不适合,要嘛不是最令人满意,要嘛违背我的信仰。我可以告诉你关于一门语言,所有我想避免的好方式,所有我喜欢的坏方式。来吧,问吧!谈话会很有趣!

php是唯一的例外。几乎php抽象的所有东西都是支离破碎的。包括语言,框架,整个生态系统都一塌糊涂。我几乎不能单独列出咒骂的事情,因为它全身都坏了。每次我打算编辑一堆杂乱如麻的php抱怨清单的时候,我都被一些琐事打乱,越深入就越会发现其它令人震惊的事情。

php让人难堪。它是如此的破碎,但那些被培训的业余爱好者,却对它称赞不已。php在做一些徽不足道的挽回措施,但我选择忘记它。

不过我得让我的系统摆脱这些东西,也就这样了,这是最后一次尝试。

打个比喻

我只是随口和Mel抱怨下,而她却坚决让我发表出来。

我甚至说不出来PHP到底怎么了,因为—还好。想想你有一个,嗯,工具箱吧。一堆工具。看起来还好,有标准的东西。

你拔除螺丝钉,它怪异的有三个头。OK,好吧,这对你不太有用,但你猜迟早有天会有用。

你拿出榔头,被震住了,两边都有是尖爪。但它仍然能用,我的意思是,你可以用两头的中部斜着敲。

你拿出老虎钳,但它们没有锯齿面。表面平而光滑。这没多大用,但依然能用,没什么。

你可以继续。工具箱的东西都是怪异和琢磨不定的,但又不能说毫无价值。整体看没什么大问题;它的工具都齐全。

现在,想象有很多使用这些工具的木匠,它们和你说:”这些工具有什么问题呢?我们都用过,它们工作都很好啊!”。工匠们给你展示他们建的房子,每个门都是五边形的而屋顶是癫倒的。你敲前门,它向内倒榻了,而他们却抱怨你打破了他们的门。

这就是PHP的问题。

立场

我认为下面的特质对于一门语言的生产力和可用性是重要的,而PHP在大范围破坏它们。如果你不同意这些,好吧,我无法想像,我们永远不会达成一致。

一门语言必须是可预见的。它是將人类的思想反映给计算机执行的媒介,因此它的关键是,人类对程序的理解实际要正确。

语言必须一致。相似的东西就要看起来相似,不同的就是不同。学习了语言的部分知识,就应能很容易理解剩下的部分。

语言必须简洁。新语言应该减少继承旧语言的不好的形式。(我们也可以写机器码。)新语言当然应努力避免织入新的特有的形式。

语言必须是可靠的。语言是解决问题的工具;应尽量避免引入新问题。任何”陷阱”都会大量的分散注意力。

语言必须是可调试的。当出错的时候,程序员必须修正它,我们需要获得我们想要的帮助。

我的立场是:

PHP到处处充满惊奇:mysql_real_escape_string,E_ACTUALLY_ALL

PHP不一致:strpos,str_rot13

PHP需要特别形式:error-checkingaroundCAPIcalls,===

PHP古怪:==。for($fooas&$bar)

PHP晦涩:默认无栈跟踪或fatals,复杂的错误报告

我不能就单个问题解释为什么它归为这些类,否则將会没完没了。我相信读者自己会思考。

不要再和我扯这些东西了

我知道很多有利的论点。我也听到很多反驳的论点。这些都只能让谈话立即停止。不要再跟我扯这些东西了,求你了。

不要和我说”好的开发者能用任何语言写出好的代码”,或者坏开发者。.吧啦吧啦。这毫无意义。好的工匠可以用石头或锤子驾驭钉子,但你见过有多少工匠用石头的?成为一个好开发者的标准之一就是善于选择工具。

不要和我说熟记上千个例外和古怪行为是开发者的职责。是的,这在任何系统中都是必要的,因为电脑是傻的。这不意味着,系统能疯狂的接受而没有上限。PHP有的只是异常,这是不行的,一旦和语言摔角决斗,你实际编写程序就要花费更多的努力。我的工具不能为我创建应用产生积极作用。

不要和我说“那就是CAPI的工作方式”。这星球上高级语言存在的目的是什么,它们能提供的一切仅仅是一些字符串助手函数和一堆C的包装器?如果是这样,那就用C!这里,甚至还有为它准备的CGI库。

不要和我扯“搞出奇怪的事,是你活该”。如果存在两个特性,总有一天,某些人会找到一起使用它们的理由。再次强调,这不是C;这里没有规范,这里不需要“未定义行为”。

不要再和我扯Facebook和Wikipedia就用的PHP.我早知道了!它们也能用Brainfuck写,但只要他们足够陪明,不断折腾这些事情,他们总能克服平台的问题。众所周知,如果使用其它语言编写,开发时间可能会减少一半或加倍;单独拿出这些数据毫无意义。

上帝保佑,不要再和我扯任何东西了!如果列出的没有伤害你的PHP的观点,无所谓,因此请停止在网上做无意义的争论,继续开发高帅富酷的站点来证明我是错的。

偷偷告诉你:我非常喜欢Python.我也很乐意对它说些你不爱听的话,如果你真想的话。我并不要求它完美;我只是想扬长避短,总结我想要的最佳东西。