PHP和Python应该如何选择?
PHP现在名声不好,因为它曾经是 "可怕 "。
这篇文章试图回答一些关于PHP的常见论断,以便向非技术人员说明PHP并没有很多人说的那么差。
1.它是否鼓励不良做法?
不再是了。以前很多开发者都是被书本教会了非常不好的做法,所以PHP代码质量非常差。PHP曾经允许你做一些非常奇怪的事情,这使得构建非常容易,但是维护起来却是一场噩梦。
这些不再是常见的问题。随着高质量学习资料的引入,这些资料很容易学习和获取,一个新的开发者可以用正确的方法学习PHP。这可以防止初级开发人员编写一些维护起来非常痛苦的代码,因为他们没有 我不知道建造东西的正确方法。
随着框架的引入,大部分导致许多糟糕体验的常见代码现在都自动完成了;所以开发者只需要使用框架,框架就能正确编码。
而且这些年来,一些不好的做法都是因为缺失了特性,导致了一些不应该被允许的事情。现在大多数情况下,甚至无法意识到之前写的东西会导致这个名声。
总结
它不再鼓励不良行为...
使用框架可以避免不好的实践。
现在有很多关于语言特性的讨论。不再支持不好的功能。
PHP添加了其他语言中存在的大部分(如果不是全部)功能。
2.它的安全性差吗?
过去,PHP应用程序的安全性通常很差,因为语言允许这样做。这些东西已经不用了,因为现在PHP应用的开发已经完全不同了。
通过使用自动加载器来包含文件,而不是动态地包含文件,远程和本地文件包含(PHP从原始地址以外的其他地址读取文件)。
通过广泛使用模板系统(可以自动处理显示动态内容的转义和安全问题),避免了在PHP中直接使用HTML(一个用户将JavaScript脚本添加到要显示给另一个用户的地方)导致的跨站脚本攻击。
通过在SQL中使用预处理语句,可以避免SQL注入攻击(这是由于需要构建SQL查询并一起发送查询和数据,用户可以在查询中添加额外的SQL命令)。另外,ORM的应用也很广泛,它保证了用户数据和查询是分开发送的,SQL不能把它当成一个单独的命令。
通过广泛使用和采用nonce系统的表单库,避免了跨站点请求伪造(其中用户可能被欺骗在你的网站上做点什么)。
总结
通过使用autoloader(所有主流框架的标准),避免了远程和本地文件包含。
通过使用模板语言作为标准或前端框架(如React),可以避免跨站点脚本(XSS)攻击。
通过使用ORM和广泛使用预准备语句来避免SQL注入。
通过使用nonce令牌(所有主流框架都自动支持),可以避免跨站点请求伪造(CRSF)攻击。
3.真的很慢吗?
那要看你拿它和什么比了。如果拿PHP和Java,C或者Go比,就慢一些。但是如果你拿PHP和Python,Ruby之类的比较,并不慢。PHP是同类语言中速度最快的语言之一,而且它还在不断提高自己的性能。
在大多数情况下,您的应用程序很慢是因为服务器过载或数据库查询很慢。这些问题在任何语言中都会存在。
总结
PHP比编译语言慢。
PHP比其他脚本语言更快。
网站慢通常不是因为没有快速语言,而是服务器或数据库造成的性能问题。
4.它的扩展性真的很差吗?
事实上,任何语言都是可以缩放的。编译语言(如Go、C或Rust)的扩展成本比脚本语言(如PHP)低。但是,它们不是为同一任务而设计的。其实都一样;这仅仅取决于您使用的服务器数量。如果您使用足够多的服务器,您可以扩展任何应用程序。PHP比其他脚本语言的扩展成本更低,因为它启动运行需要的资源更少,可以运行在CPU更多内存更小的服务器上。
此外,对于可伸缩性,数据库很重要。如果可以扩展数据库,就可以扩展应用程序。数据库比应用服务器更难扩展。很容易添加另一个读取数据库的客户机;然而,使数据库快速运行要困难得多。
总结
任何语言都可以是可扩展的;这取决于您使用多少台服务器。
扩展的真正问题是数据库,而不是使用的应用程序语言。
如果你能扩展你的数据,你就能扩展你的应用。
5.我应该一直用它吗?
不是。每种编程语言都有自己的专业领域。PHP非常适合Web应用。你应该用它来构建网站和API。
如果您正在构建一个系统应用程序,其中每一毫秒都很重要,请使用Rust或c。
如果你正在构建一个人工智能应用,Python是一个很好的选择。
如果您正在构建一个SaaS应用程序,PHP是一个不错的选择。
如果你正在建造Kotlin是构建Android应用程序的一个好选择。
如果您正在构建一个运行在多个平台上的应用程序,Java是一个不错的选择。
总结
每种语言都有其最佳用例。
PHP的最佳用例是Web应用程序。
Go,Rust,c适合系统应用。
Python适合人工智能。
Kotlin适用于Android应用程序。
Java适合于平台无关的应用程序。
6.结论
每年都讲php,但是你的PHP现在是不是过期了?很多关于PHP的说法已经过时10年了。在我看来,如果有人给你一个过期10年的技术主题的信息,那么这个人可能不是你想要信任的技术专家。
PHP是创建Web应用程序的一种很好的编程语言,我认为它是开发Web应用程序的最佳语言。
苹果电脑excel怎么删除换行符?该方法如下:1.首先打开需要处理的Excel工作表,鼠标左键点击选择单元格:A1。2.然后,在Excel工作表顶部的“工具”菜单中单击“开始”,找到“开始:自动换行”下面的子菜单工具,然后单击它。3.点击自
学植发需要什么条件?植发不同于普通职业,所以没有培训课程,需要有行医资格。不是每个人都能学会植发技术的。目前学习植发技术主要去一些论坛或者贴吧,但是因为网上鱼龙混杂的东西很多,所以不适合学习植发技术。建议去一些正规的植发医院网站和医疗平台学
小度开机只停留在界面进不去?1.很有可能是电源线连接再次出现你的问题。拔小度的主机电源,重新拔下,尝试重新启动,或者换一个电源插口。2.很可能是系统后垃圾东西过多,导致运行不畅。也可以自动重置小度,通过按【enable】键或同时长按【扬声器
常州正衡中学怎么样?常州市郑恒中学不仅是一所成绩斐然的八级名校,也是常州教育的先行者。2000年,常州一中的初中和高中开始采取不同的办学模式。高级中学仍然是公立的,沿用常州一中的名称,而初级中学则采用公立和私立相结合的模式。常州市郑恒初级中
顺风车车费怎么计算?在有很多方法可以计算免费乘车的费用。3- 10公里:组装座椅1.39元/公里,不组装或专用1.85元/公里;2.10-35km:组合座1.16元/km,未组合或专属座1.55元/km;3、35-50公里:座位0.86元/
在word文档中怎样插入立方米的数学符号呢?以word2016版本为例,操作方法如下:步骤一、打开需要插入符号的word文件。步骤二、在需要插入符号的位置输入“M2”。步骤三、用鼠标选中文字“2”。步骤四、然后点击工具栏中“开始”标签的“上
黑龙江离陕西多远啊?一个省有多大。你应该说哪个城市去哪个城市。哈尔滨到Xi的距离。;安直线2000公里,坐火车2600多公里。距离西安2000公里的城市有哪些?Xi ;安位于的内陆,在中心的北部。距离Xi 2000公里 安只能在的东北、南
苹果上下滑动怎么设置?第一步:然后打开手机系统设置那个按钮,第二步:在设置页面中直接点击“用是”,第三步:在用的界面中再点“快捷设置”第四步:接着你选择“便捷防问”,直接点击“辅助触控”,第五步:进入到辅助触控功能主界面中,将其后面的开关选
请问在手机的智行火车票上怎样订学生票?第一步,必须打开,进入页面手机通讯录两个选项。第二步,点击菜单通讯录中的公众号选择项。第三步,提前进入公共号网页后,点击右下角“”。第四步,可搜索“智行买火车票”,并点击搜索结果页中的一个最终。第五步,
江苏常州距离山东临沂多远?江苏常州距山东临沂468.9公里,途经蒋易高速和京沪高速。临沂去江苏常州武进区走高速花多少钱?中的行驶路线:全程约481.3km,通行费按2.0车型估算500元。起点:临沂市1。临沂市区行驶方案1)从起点往南方向行