我想在开发PHP应用程序时参考使用包含文件与对象(类)的优缺点.
我知道我会从一个地方获得这个答案中受益...我对自己有一些看法,但我期待听到其他人的意见.
一个简单的例子:
我的网站上的某些页面只能由登录用户访问.我有两个实现选项(还有其他选项,但我们将它限制为这两个选项)
创建authenticate.php文件并将其包含在每个页面上.它拥有身份验证的逻辑.
创建具有身份验证功能的用户对象,在每个页面上引用该对象进行身份验证.
编辑 我想看看某种方式权衡一方的优势.我目前(和弱的理由)遵循:
包含 - 有时一个函数更容易/更短/更快地调用对象 - 功能和属性的分组导致长期维护.
包含 - 更少的代码编写(没有构造函数,没有类语法)叫我懒惰,但这是真的.
对象 - 强制形式和功能和创造的单一方法.
包括 - 新手更容易处理对象 - 新手更难,但专业人士不赞成.
我在项目开始时查看这些因素,以决定是否要包含或包含对象.这些是我的头脑中的一些优点和缺点.
这些并非真正相反的选择.无论如何,您必须包含检查代码.我把你的问题看作是程序编程与OO编程.
编写几行代码或函数,并将其包含在页眉中是PHP3或PHP4中完成的工作.它很简单,它的工作原理(这就是我们在osCommerce中所做的,例如,电子商务PHP应用程序).
但是,维护和修改并不容易,因为许多开发人员都可以确认.
在PHP5中,您将编写一个用户对象,该对象将携带自己的数据和方法进行身份验证.您的代码将更清晰,更易于维护,因为与用户和身份验证有关的所有内容都集中在一个地方.
虽然问题触及了几个非常有争议的问题(OOP,用户身份验证),但我会跳过这些以及第二个Konrad关于__autoload的评论.任何了解C/C++的人都知道包括文件在内的多少痛苦.使用自动加载,PHP5添加,如果您选择使用OOP(我几乎专门做),您只需要使用一些标准文件命名约定(我建议)限制每个文件的单个类,PHP将为您完成剩下的工作.清理代码,您不再需要担心记住删除不再需要的包含(包括许多问题之一).