我历来采用单片办法PHP代码。
也就是说,我写一个index.php文件,具有70K-250K的平均尺寸,并使用
mod_rewrite
打开的休息
REQUEST_URI
到传入index.php来控制发生了什么参数。
另一种方法是写很多小PHP脚本,各专业特定的目的。 我在想,我的一些更积极的AJAX脚本可以从中受益。
这使我在这个思维过程的一件事是,我不知道如何使用包括,特别是条件包括会影响到操作码缓存的性能。
我一般都完全避免,如果可能包括由于我对这个偏执,但这会导致要么重复码,或留铁板一块。
由于我使用mod_rewrite反正两种方法之间的转换应该很简单。
我期待你的评论。
编辑:我的一个目标应用程序的当前处理每秒80-100页命中(我得到了一些不错的硬件)。 其中大多数是Ajax请求。 一切正常,是活泼的,但我已经发展成为一个PHP程序员没有批判和需要它。
模块化的代码更容易理解和维护。 特色的庞大的代码库可以变得像纸牌做的房子。 它工作得很好的做法,但改变任何低级的元素变得不可能。 如果你的代码分成清晰的抽象,它可以更容易地做出改变,你会救自己的噩梦,如果你曾经添加开发商。
不使用包含文件的绩效奖金是由远易于维护和调试使用大型应用程序包含的文件抵消。
返修是浪费。 复制和粘贴代码从一个应用程序到另一个是维护地狱。
除了其他意见(与我完全同意),另一种观点认为:我已经取得了经验,一个单片电路的方法,如果被迫采取极端行动,花费宝贵的RAM - 整个文件必须加载进行解释,无论一切从它需要与否,这本身从8,16,或32 MB你每个实例得到吃掉了很多。
请不要忘记测试和维护的代码。 我无法想象,如果你能写单元测试的项目,只是在单一的文件。 Futher多,它的很多harded预测哪些功能可以通过您刚才所做的更改被打破。 在模块化架构的情况下,如果你改变了一些模块,那么你只能打破这种模块和模块依赖于它。 即使是很小的变化可以是致命的单个文件的项目(可以忘记关闭的报价,这将打破所有的页面一次)。 我想你一定复试毕竟即使是很小的变化,我们所做的功能。 而这对于测试人员ecpecialy您无法使用单元测试有疼痛感。
另外,如果我存储在一个文件中的所有代码,那么你会更容易有不好的代码。 这样的代码将趋于您使用全局变量。 在这种情况下,很难在其他项目中重复使用这样的代码。 原因你可以复制它,但要记住,当你复制复制其所有的错误的东西。 只是imagane在那里你可以使用的一系列完善的测试(告诉感谢单元测试)库项目。 当新的bug出现那么它只是固定在一个地方。
还有一两件事,当你在一个团队使用一个单一的文件将是痛苦的工作。 即使只有2开发人员,他们浪费了太多的时间来合并更改。
无论如何,如果你的项目并不大,在所有可以使用单个文件appoch。
文章来源: What are the advantages/disadvantages of monolithic PHP coding versus small specialized php scripts?