热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

怎么查看php是否安装了symfony_为什么开发人员讨厌PHP???

PHP是世界上使用最广泛的Web开发语言,它也是最令人讨厌的编程语言。嗯嗯,这纯粹是拉仇恨,PHP是世界上最好的语言!但是&

9a6f430601819d0d81b265091009fc67.png

62908ef316a21f8d9aa4ff1a55c26ef7.png

PHP是世界上使用最广泛的Web开发语言,它也是最令人讨厌的编程语言。嗯嗯,这纯粹是拉仇恨,PHP是世界上最好的语言!

但是,为什么这么多开发人员这么讨厌它呢?今天,我们要回到仇恨的根源,看看它是否真的合理。

不要碰我的PHP!

如果我说PHP被全世界所讨厌,那不是我个人的看法。在最新的程序员编程语言调查中,来自世界各地的开发人员将PHP 列为最可怕的5种语言之一。最新的Hired调查显示,PHP在最讨厌的语言前2名中名列前茅。还有一些调查,比如Reddit上的话题。

如果您是20年几年的PHP开发人员,正好在到这里进行十字军东征,放松些,将我钉在Symfony的祭坛上吧。我们在这里只是聊聊天,请放下枪,好吗?现在的事实恰恰相反,如果您满腔热情地讨厌PHP,喝些茶,吃点爆米花,舒服的坐下来谈。

从前,我自己在做过一些Symfony2项目。坦白说,我喜欢Symfony,这个框架真的还不错。我告诉了在devops会议上认识的一名开发人员,他说他感到震惊,甚至作呕,他看着我,就像我刚谋杀了一个新生儿一样。从现在开始,我称呼他为James,以简化描述。

我问James一个问题:为什么你这么恨PHP?

【腾讯文档】PHP进阶架构师、面试;文档、视频资源免费获取​docs.qq.com
c07676edc7bee5eface5688ee7fd3c8f.png

PHP过去的麻烦

要了解接下来会发生什么,人们是需要了解上下文的。为了做到这一点,让我们做一些媒体倒带。那是在1994年,Rasmus Lerdorf正在编写C工具套件,该工具套件用于管理他的个人网站。Rasmus当时只是在满足自己的需要。他并没有想把它变成一种编程语言。此工具套件中的任何内容都不旨在成为一体。一年后,拉斯穆斯(Rasmus)发布了这个开源工具箱,当时叫做:PHP / FI。

它的代码看起来像这样:



Hey, you are using Netscape!

Sorry, that record does not exist

Welcome !

You have credits left in your account.


可以看到这段代码与今天PHP7框架中的内容相去甚远。

然而,一切都来自那里。PHP故事的其余部分:开发小组接管了代码,并在1997年发布了PHP /FI2。1998年,PHP部分内容被重写,并发布了PHP3。在1999年,PHP的核心被完全重写,这就是Zend引擎。接着第二年发布了PHP4,并在2004年与Zend2一起发布了PHP5。PHP6后来被取消。最终,PHP7对该语言的另一次重大重写:于2015年发布。我记得当时非常激动。但是最开始时,Lerdorf只是在写自己的东西而已。

2003年,他接受了媒体采访,讲了一些不可思议的事情:

“我真的不喜欢编程。我构建此工具的目的是为了减少编程工作,以便我可以简单地重用代码……我不知道如何停止它,从来没有打算编写一门编程语言[…]。我根本不知道如何编写编程语言,只是不断增加下一个逻辑步骤。”

不一致与不良设计

早在2019年,我和朋友James有一次聚会。他开始与我讨论PHP不太好的语法。PHP无论是使用运算符还是函数命名都令人难以置信的不一致。

我认为最讨厌PHP的人实际上就是他,后来我查了一下他在网上发的所有这些帖子都证实了。开发人员讨厌PHP,因为PHP是一门技术上不一致且设计不良的语言。将其与其他语言进行比较时,对比显而易见,问题确实如此。

使用PHP很容易就产生错误的代码,而其他语言有很多规范限制。我们还看到了PHP的许多安全问题,嗯关键问题就在这里:使用PHP编写错误和不安全的代码非常容易。但是,如果编写正确的代码,PHP并不会产生安全漏洞,也不会是丑陋的代码。开发人员讨厌PHP,因为使用这样的自由度很高的语言容易出错。

【腾讯文档】PHP进阶架构师、面试;文档、视频资源免费获取​docs.qq.com
c07676edc7bee5eface5688ee7fd3c8f.png

成功的受害者

PHP被拉仇恨还有另外一个重要因素。开发人员讨厌PHP,因为现在它无处不在。比如Wordpress博客在PHP7上运行。像大多数网站一样,我只需要托管一个动态页面,然后将其缓存。PHP在这点非常可以胜任。虽然语言本身并不是最好的。。但是谁在乎 ?它以快速且易于访问的方式满足了人们的需求。也正是由于这个原因,80%的网站都在PHP中运行。

当我向James解释时,他像疯了一样。他说自己不得不经常更改PHP中的内容,为此感到头痛。

WordPress的出现(实际上在互联网上已占主导地位),James将长期使用PHP。顺便说一句,我正在与您交谈,就好像该语言只能处理像我这样的博客一样,但事实并非如此。Facebook,Wikipedia,Yahoo,Flickr,Tumblr所有这些网站均在用PHP运行,并且每月欢迎数百万用户,而丝毫没有出什么问题。PHP已经做得很好,并且已经运行了很长时间。

PHP现在是老人,快要消亡

这句话已经听了十多年了,类似PHP即将消亡的预言。但是它仍然在那,不减反增。尽管现在有最新的替代技术,但它并没有太大受压缩。开发人员讨厌PHP,因为它与新“炒作”的语言相反。每个人都想投资最新产品,而PHP就像一位不想出让自己土地的老人,而他在继续狂妄地跳着舞。

我与James的讨论继续进行,突然间他告诉我让人震惊的事情。“PHP在网络上最慢的语言”。他接着说说自己已经很长时间以来没有阅读任何PHP代码。

PHP在发展,而非声誉

在许多开发人员的心中,PHP仍保留在PHP4。也就是该语言尚不稳定,性能不佳且较浅层的OOP时。开发人员不喜欢PHP,认为该语言已经停滞了20年。如今,当了解新的PHP时,您就知道它现在与PHP4已经相距甚远。

PHP7比Python和Ruby更快。如果需要,可以使用强类型的语言对比。近年来出现的静态解析器也在发展,使用诸如Symfony或Zend之类的框架会强制采开发者用良好实践。这些框架每年至少发布一个新版本,其中包含非常精确的计划。

PHP7.4的性能目前更高。出于篇幅考虑,不再列出现代PHP中发生的全部事项。现在是时候改变您对这种语言的看法,这与以前的版本毫无关联。

开发人员讨厌PHP,因为讨厌PHP很酷。因此,这种语言的声誉一直很差。是的,这有很强的遗产和很多问题。但是对于大多数网站来说,有很多的好东西。

结语

大多数讨厌PHP的开发人员出于精英或无知而讨厌它。无论哪种方式,这都是小愚蠢不明智的。人们应该根据实际需求选择一种技术,PHP在许多情况下都是非常有用且强大的。仅仅由于其声誉而将其排除在外并不是一个好主意。

以下是网友对本文的历史评论:

电磁芯儿:说在点子上了。来自德意志的问候。

扎克:在我真正理解PHP时,我曾经很讨厌他。我曾经将Wordpress与PHP混成一谈,很多SEO书呆子将大量不良信息混在一起。我看到很多网站使用过度复杂的JS来做一些事,而在PHP中,只需要一两行就可以搞定。

TS:这是事实。

安德森:在过去的19年里,我一直用PHP。这是一个强大的生态系统,你会接触到很多关键点不仅仅是PHP,这是任何一门语言和爱好者要看到的。

比拉:过去的东西是PHP声誉最糟糕的部分。

乔:完全同意。我最不喜欢网上的一些问题是因为我看到WordPress上看到的恐怖代码,这是这款系统的内核,WP的标准和约定让人吃惊,但是这款CMS还很稳定...

联盟:如果你想了解最新的PHP标准和实践,请用Laravel,Symphony也节省了PHP的开发时间。

tsu:谢谢!我讨厌WordPress,但PHP是一个很好的语言。

丹尼尔:很棒的文章。

莫特肖:为什么没有提Laravel?

天神欧巴:我曾经喜欢PHP,最近我开始用MERN来开发Web系统了。

瑞安:当前,在流量排名世界前50名的网站之一上使用PHP。该语言未能履行其不良声誉而使我感到惊讶-它不仅快速灵活,而且还是面向对象的。Composer软件包管理器使您可以轻松地将新库添加到项目中,而良好的框架(如Symfony和Doctrine ORM或Laravel和Eloquent ORM)使您可以构建健壮的代码,并以比许多其他语言更快的开发速度遵守适当的标准。如果确实是由业余开发人员构建的,PHP旧版代码的使用确实很痛苦,但该语言正越来越多地解决了许多此类问题(从PHP 7.4开始,您可以在变量级别和早期版本中声明类型。版本的PHP 7,他们在函数参数和函数返回中添加了类型提示。

小罗:讨厌php的人证明他不了解php,并且他是新手程序员。

作者:希曼。他是一名开发人员。资深后端/ DevOps工程师。写程序是我的爱好之一,也非常喜欢写作。
【腾讯文档】PHP进阶架构师、面试;文档、视频资源免费获取​docs.qq.com
c07676edc7bee5eface5688ee7fd3c8f.png


推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • docker 多物理机容器_Docker(1) 什么是 Docker
    ​1|0学习Docker前的必备知识1|1环境配置的烦恼软件开发最大的麻烦事之一,就是环境配置相信每位编程初学者都会在环境配置上倒腾很久,而作为老师也会 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • 全局角度出发讨论敏捷
    JonKern对于是什么促成了敏捷的成功有着自己读到的见解。你可能会不同意他的观点。下面列出了一些建立在项目全局角度之上的关键实践,项目本身就是从此开始的。如果不能从系统角度来做项目,那它就不能达到预期的效果,甚至可能会失败。我很早以前就认为,开发软件就像是在完成一个很长的待办事项列表。我试了很多方法来运行项目,从记事贴到Jira(从Jira刚发布起我就开始使用)。我使用传统Scrum风格的Spr ... [详细]
  • 【限时免费】       架构和运维技术高峰论坛·成都站来啦~~     报名请点击左下角 阅读原文运维和架构系列论坛,由IT趣学社主办,以目前最火热的运维技术体系为核心,邀请业界 ... [详细]
  • 智慧城市背景下Python机器学习项目实战案例分享
    首先,何为智慧城市?智慧城市的“智慧”源自何处?智慧城市的特征在于运用大数据和数字技术提高居民生活质量。机构获得的数据越全面、越实时,它们就越有能力观测事件发生的详情、分析需求模 ... [详细]
  • 移动云_搭乘“云原生”硬核实践之舟,移动云助力开发者畅游未来创新之旅
    本文由编程笔记#小编为大家整理,主要介绍了搭乘“云原生”硬核实践之舟,移动云助力开发者畅游未来创新之旅相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了一种在PHP中对二维数组根据某个字段进行排序的方法,以年龄字段为例,按照倒序的方式进行排序,并给出了具体的代码实现。 ... [详细]
  • 目前有哪些主流的编程语言呢?1、Java:应用广泛,Android的编程,大部分是用Java;相关岗位:软件工程师,软件架构师和DevOps工程师。2、Python:简单易学,软件 ... [详细]
  • 开发笔记:DevOps Gitlab环境部署
    本文由编程笔记#小编为大家整理,主要介绍了DevOpsGitlab环境部署相关的知识,希望对你有一定的参考价值。DevOps介绍 ... [详细]
author-avatar
moquan
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有