我总是听说PHP用于中小型网站,而.NET和Java则用于企业应用程序。我的问题是关于PHP的。为什么PHP不是企业级web应用程序的好选择?这是因为如果web应用程序变得更大,那么PHP就会慢一些,因为它是一种解释语言?
我知道企业界会选择.NET或J2EE,因为它们与产品的集成,以及后端服务等等。然而,如果我们仅仅拥有用于构建站点和web应用程序的PHP,那么我们如何才能使用它来与大型站点进行良好的运行呢?
简而言之,PHP的性能与网站的大小有关系吗?哪些因素使得PHP不适合大型站点?
发布于 2012-03-16 13:43:58
性能可能不是其中的一个因素。对于一种动态语言,PHP实际上执行得相当好;根据任务的不同,它可能优于其他技术,也可能不优于其他技术。应用程序模型太不一样,无法直接与Java或ASP.NET进行比较,即使存在可测量的速度差异,它也不是很大,而且很可能是线性的,这意味着可以通过向它扔更多的硬件来解决这个问题。此外,编程语言本身很少是瓶颈算法、数据库访问、网络带宽和I/O通常的罪魁祸首,除非您正在编写真正的CPU密集型的东西。
使用ASP.NET或的原因更有可能包括:
产生这种效应的另一个原因是,PHP是免费的(就像啤酒一样),而且无处不在--每一家廉价的共享网络托管公司都在其标准包中配置了PHP,但.NET或Java服务器的成本要高得多。因此,大量的小型网站使用PHP,并不是因为它是最佳的工作工具,而是手头唯一的工具。
这并不是说PHP不适合大型项目,它只是不适合于“企业级”的编程。它的优势在于其他地方,如果你能利用它们,你就可以像使用任何其他网络技术一样轻松地构建大规模的应用程序。
发布于 2012-03-16 15:26:09
您混淆了流量(“中小型网站”通常指的是具有中小型流量的网站),以及业务逻辑复杂程度(简单网站与企业解决方案)。在第二种情况下,性能不是关键因素。
例如,Facebook是一个高流量网站,但它不是一个企业应用程序。另一方面,有大量基于Java应用服务器的内部网,甚至无法处理中型网站的流量。
性能方面的PHP不是最好的选择,但也没有那么糟糕。特别是与其他动态语言的比较。然而,同样,原始性能不是最重要的因素。创建高流量网站更多的是为了在架构级别上优化可伸缩性。
为什么PHP被企业如此鄙视?原因很少,首先是可怕的安全声誉。第二,它被认为是业余爱好者创建丑陋的、无法管理的HTML意大利面代码的语言。尽管有成熟的MVC框架,但这种观念依然存在。我想拥有PHP的最初作者认为您不需要一个框架是没有帮助的。事实上,这些无知的业余爱好者几乎没有编程技能,他们自称"PHP程序员“也于事无补。第三个原因是,任何有经验的程序员都会同意,PHP只是作为一种语言设计得很糟糕。你可以清楚地看到,它是由一个网站管理员设计的,而大多数现代动态语言是由专门从事编译器和语言设计的研究生学者设计的。
是的,在企业中,这一切都是关于系统集成的,在这里PHP也不发光。只要付出足够的努力,您就可以创建C模块。这里有PHP桥,使用起来相当繁琐。除此之外,你没有太多。创建Boost::PHP (与C++集成)的尝试失败了。PHP -在JVM上运行的克隆与PHP的兼容性还远远不能达到100% (顺便指出,没有正式的PHP语言定义,唯一的参考是默认的实现)。
发布于 2012-03-16 15:17:35
不知道为什么人们声称PHP是针对中小型网站的。据我所知,这不是真的。我知道一些PHP支持的网站开始很小,然后成长为top100网站在我的国家。他们仍然使用PHP,没有任何改变它的计划。
可能会让人们得出这样的结论的问题是,在Java (我也是用.NET)的情况下,应用程序崩溃是文档和文献中经常提到的一个术语。大多数应用服务器都支持某种形式的集群,随着流行度的增长,这些集群允许快速添加“马力”。如果使用PHP,您必须自己构建集群。您可以使用不同的组件使用多种方法,并且您必须对PHP内部工作方式了解一点或两点。这可能让人们认为,使用PHP单一服务器(因此是中小型网站)是PHP的死胡同。
https://softwareengineering.stackexchange.com/questions/140051
复制相似问题