搜索
首页后端开发php教程Java 为什么比 PHP 更加安全稳定可维护?

都说 Java 比 PHP 稳定安全,可维护性好,为什么啊,难道就因为 sun 公司提供的一系列的技术支持?难道像阿里那种电商就不能 PHP?如果阿里用 PHP 较之 Java 会出现哪些问题?本人入 PHP 只有一年时间,参与过类似搜房的房地产网站开发,做过几款 App的接口,目前兼职参与搭建一个多用户的电商平台。之前在学校只懂 Java 皮毛。 感觉 PHP 好的,真搞不懂 PHP 哪里不如 Java 安全稳定。

回复内容:

这东西完全看人。。。

那些说,java因为它的特性,不至于被菜鸟写太乱的我也只能呵呵了。你们也太小看菜鸟的实力了。 咦,看来我有资格来谈一谈,,,
1.编码规范
JAVA大小写敏感,PHP对 函数名、方法名、类名是不区分大小写的。
这在生产中容易导致问题,比如window系迁移至类Unix系。
在编码规范上SUN给出了一个好的风格样式,再加上使用的各类Jar包的规范。
一个菜鸟只要用心,是不会写烂代码的风格的。

PHP确有些小头痛呢,因为之前流行的是面向过程式编程。
独立开发者各有各的风格,个人觉得那些DISCUZ、DECMS等等是带坏一票人啊。
二次开发那个命名随意,真是任性。
当然,现在PHP也支持OOP了,各类框架的命名风格也一定程度的约束了编码人员的风格。
当然,要写烂一样很简单。
再加上是弱类型语言,代码质量的好坏比JAVA,对程序员的要求是更高的,虽然PHP简单。
正如 @Cweili 所说:“安全和稳定就需要开发者的水平来保证了”。

结论就是JAVA容易养成更好的统一编码规范,利于维护、阅读。
菜鸟都能写出一手规范的代码。

2.变量、强类型
强类型语言,导致变量之间转换繁琐,定义、初始化、转换麻烦。
JAVA中,代码块的很大一部分是变量的定义、初始化与转换,又臭又长。
如果忘记初始化,程序容易报空指针错误。

PHP在这一块就很好,变量随处用。再加上PHP的可变变量特性。
同样的一个route功能实现,JAVA要繁琐太多,这也是我对强类型语言一直诟病的。
PHP可以省去大量繁琐的定义、初始化和类型转换,代码结构轻便,更加专注于业务逻辑上。

JAVA强类型也决定了代码在编码时期的严谨性和可靠性,这个比PHP优。
PHP一个可变变量可能就会让你无法重构,所以对IDE不是很友好,调试起来你要发疯。
JAVA重构方便,但结构笨重,开发节奏慢,调试倒是很方便。

拿PHP来做数据安全要求高的业务还是不建议的。

3.异常、业务完整性
PHP的生命周期(PHP的生命周期)设计决定了它的异常处理功能的使用没有JAVA广泛。
接触过的如DISCUZ、DECMS、ECSHOP这些系统对于异常处理很弱。
很少使用try{}catch{}处理异常,因为一旦执行期发生异常就可能导致程序崩溃,
对于业务性要求高的系统来说不是一件好事。
谁都不希望执行到一半,程序异常就崩溃了吧,那业务回滚怎么办?

就如 @石峰 说的:“入门简单的语言,给我的感觉是想要用的好其实更难,比如js或者php”。

个人看法有限,知友请轻喷!

PS:
为什么大型网站前端使用 PHP 后台逻辑用 Java? - Java
PHP 和 Java 的主要区别有哪些? - 编程语言 语言选择不决定代码稳定与否与可维护性高低,这两者主要取决于写的代码本身。
如果用Java和PHP开发一般web后端程序,安全性取决于写的代码本身是否安全,如是否总是做输入检查,XSS预防等等,而不是用的语言本身是否安全。
特例可能是和Finance相关的业务,通常不考虑用弱类型语言来写,这有部分安全的考虑,但更多是精度和效率。 PHP 垃圾程序员太多。某天我生成了 PHP 的 SDK 给 PHPER ,然后人家都不 include 文件的,就是一口咬定我得接口有问题啊调不通啊,唉,都不知道他们怎么面上的。。。。。。 PHP 还是一门好语言来着。 我觉得楼主的假设是错的 Java 为什么比 PHP 更加安全稳定可维护? 不要说了,PHP是世界上最好的编程语言! Java 是比世界上最好的语言 PHP 更好的语言! 阿里系有一部分页面是用PHP实现的啊,大概现在还存在。
阿里系的规模和历史使很多技术选型不能完全靠技术层面来决定,不是一个好参考对象。

例如说,没记错的话淘宝最初的最初就是基于一个PHP框架快速开发出来的。后来规模稍微大了一些,请来Sun做技术顾问,自然而然转为用Java EE。有很多淘宝的页面是用Velocity模版写的也是历史原因,很难说它当时是不是最好的(至于很多年后它还好不好就更加不好说了)。一言难尽。题主如果对淘宝的技术演进背后的故事感兴趣的话可以读读@子柳的《淘宝技术这十年》

至于笼统的“为啥PHP没Java稳定”,这话题还是留给各语言/框架教徒们战了(逃 因为大量低水平php程序员的存在。
他们真能把code写的非常之烂。
java规矩多,写烂不容易。 记得看过一句对java的评价,java是一种工业级的编程语言,个人以为很有道理。无论使用者水平如何,java开发出来的程序不会太差。
而入门简单的语言,给我的感觉是想要用的好其实更难,比如js或者php。做了很多封装也就意味着隐藏更多原理,原理不明白自然没法做的更好。
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
PHP中的依赖注入:避免常见的陷阱PHP中的依赖注入:避免常见的陷阱May 16, 2025 am 12:17 AM

DependencyInjection(DI)inPHPenhancescodeflexibilityandtestabilitybydecouplingdependencycreationfromusage.ToimplementDIeffectively:1)UseDIcontainersjudiciouslytoavoidover-engineering.2)Avoidconstructoroverloadbylimitingdependenciestothreeorfour.3)Adhe

如何加快PHP网站:性能调整如何加快PHP网站:性能调整May 16, 2025 am 12:12 AM

到Improveyourphpwebsite的实力,UsEthestertate:1)emplastOpCodeCachingWithOpcachetCachetOspeedUpScriptInterpretation.2)优化的atabasequesquesquesquelies berselectingOnlynlynnellynnessaryfields.3)usecachingsystemssslikeremememememcachedisemcachedtoredtoredtoredsatabaseloadch.4)

通过PHP发送大规模电子邮件:有可能吗?通过PHP发送大规模电子邮件:有可能吗?May 16, 2025 am 12:10 AM

是的,itispossibletosendMassemailswithp.1)uselibrarieslikeLikePhpMailerorSwiftMailerForeffitedEmailSending.2)enasledeLaysBetemailStoavoidSpamflagssspamflags.3)sylectynamicContentToimpovereveragement.4)

PHP中依赖注入的目的是什么?PHP中依赖注入的目的是什么?May 16, 2025 am 12:10 AM

DependencyInjection(DI)inPHPisadesignpatternthatachievesInversionofControl(IoC)byallowingdependenciestobeinjectedintoclasses,enhancingmodularity,testability,andflexibility.DIdecouplesclassesfromspecificimplementations,makingcodemoremanageableandadapt

如何使用PHP发送电子邮件?如何使用PHP发送电子邮件?May 16, 2025 am 12:03 AM

使用PHP发送电子邮件的最佳方法包括:1.使用PHP的mail()函数进行基本发送;2.使用PHPMailer库发送更复杂的HTML邮件;3.使用SendGrid等事务性邮件服务提高可靠性和分析能力。通过这些方法,可以确保邮件不仅到达收件箱,还能吸引收件人。

如何计算PHP多维数组的元素总数?如何计算PHP多维数组的元素总数?May 15, 2025 pm 09:00 PM

计算PHP多维数组的元素总数可以使用递归或迭代方法。1.递归方法通过遍历数组并递归处理嵌套数组来计数。2.迭代方法使用栈来模拟递归,避免深度问题。3.array_walk_recursive函数也能实现,但需手动计数。

PHP中do-while循环有什么特点?PHP中do-while循环有什么特点?May 15, 2025 pm 08:57 PM

在PHP中,do-while循环的特点是保证循环体至少执行一次,然后再根据条件决定是否继续循环。1)它在条件检查之前执行循环体,适合需要确保操作至少执行一次的场景,如用户输入验证和菜单系统。2)然而,do-while循环的语法可能导致新手困惑,且可能增加不必要的性能开销。

PHP中如何哈希字符串?PHP中如何哈希字符串?May 15, 2025 pm 08:54 PM

在PHP中高效地哈希字符串可以使用以下方法:1.使用md5函数进行快速哈希,但不适合密码存储。2.使用sha256函数提高安全性。3.使用password_hash函数处理密码,提供最高安全性和便捷性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

北端:融合系统,解释
1 个月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
4 周前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩盖:探险33-如何获得完美的色度催化剂
2 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

安全考试浏览器

安全考试浏览器

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

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

螳螂BT

螳螂BT

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