如何将PHP用于大型项目?

cle*_*tus 25 php

有人问过:大型项目没有PHP?为什么不? 这是一个反复出现的主题,PHP开发人员 - 有一些原因 - 被迫捍卫PHP.

所有这些问题都是有效的,并且有一些反应,但这让我思考.根据您可以用任何语言编写优秀代码和使用任何语言编写错误代码的原则,我认为值得提出一个积极的而不是消极的问题.而不是为什么你不能,我想问你如何使用PHP进行大型项目.

那么,您如何编写一个大型,复杂,可扩展,安全且强大的PHP应用程序?

编辑:虽然我理解组织方面很重要,但它们适用于任何大型项目.我主要针对的是技术指导以及如何处理可扩展性的常见问题.使用像APC这样的操作码缓存是一个明显的起点.群集感知会话将是另一个.这就是我遇到的那种事情.

Dou*_* T. 21

在大多数情况下,php的问题不在于语言.问题来自于低进入门槛的耦合和缺乏任何基础设施以避免常见的编程问题或安全问题.它本身就是一种非常快速和肮脏的语言.尽管如此,它仍然具有许多大型Web应用程序的优势.您只需要知道如何添加某种级别的基础结构,以避免许多常见的Web编程错误.请参阅 - 构建公共网站以获取帮助之前,开发人员应该了解什么.

您需要了解php可以使您的Web应用程序不安全或有问题的原因,并学习如何缓解这些问题.您应该了解如何使用php安全地访问您的数据库.您应该学习避免SQL注入.你应该了解像register_globals这样的邪恶事物以及为什么你永远不应该使用它们.简而言之,在进入真实世界的大型Web应用程序之前,您应该先做好关于工具的功课.

一旦你接受了教育,归结为你可能想要构建一个框架或使用一个可以缓解这些问题的预先存在的框架.流行的框架包括PEAR和Zend.

此外,有用的问题可能会有所帮助:


Era*_*rin 9

将PHP用于大型项目与使用任何其他语言没有什么不同.在编写可维护可扩展的源代码时,您需要经验和知识.您需要了解安全隐患性能问题.您需要研究您的问题域并熟悉它.

最后,与任何其他语言一样 - 您需要的是高质量充满动力的开发人员.


bac*_*dos 5

我知道,这有点过时了,但是,我仍然会尝试回答...使用Haxe /PHP...我可以深入研究细节...但是如果您查看该语言、它的功能和PHP API 封装成相当一致的东西的好方法,你很快就会看到,PHP 的问题是什么......而且,你最终拥有 Haxe 的所有好处......

编辑:这是一个严肃的答案...... Haxe/PHP 自动解决了标记为答案的帖子中提到的很多问题......

  • register_globals 已关闭...您通过php.Web获取您的参数
  • 为数据库使用SPOD层(与 php 相同的 API)会自动处理转义(并会自动提供您的模型(并且templo是一个非常好的模板引擎,因此应该对您的视图有所帮助))
  • 拥有类型化语言,您更有可能编写更好的代码......加上泛型和枚举等语言功能非常强大......而且Haxe中有很多编译时魔法也很有趣......更多强大的语言总是有利于解决复杂的问题......

如果你想使用其他 PHP 框架,你只需要编写外部类,一切都会按预期工作......

我认为 Haxe 是对“大型”、“复杂”、“安全”和“稳健”的一个很好的回答......当然,可扩展性不是来自 Haxe 本身......但是,如果你查看 haxelib,那么你找到很多有助于可扩展性的东西......例如memcached(你必须在memcached.Connection中将neko.net.Socket更改为php.net.Socket)......

如果你真的想使用PHP语言,而不仅仅是平台,Haxe当然不会帮助你......