首页 / 知识
关于编码风格:PHP包括vs OOP
2023-04-12 21:44:00

PHP includes vs OOP我想为开发PHP应用程序时使用include文件vs对象(类)的优缺点提供参考。 我知道我可以从一个地方获得这个答案中受益……我对自己有一些意见,但我希望听到其他人的意见。 一个简单的例子: 我网站上的某些页面仅供登录用户访问。我有两种实现方式(还有其他选择,但我们只限于这两种) 创建一个authenticate.php文件,并将其包含在每个页面上。它具有验证逻辑。 创建一个具有身份验证功能的用户对象,并在每个页面上引用该对象以进行身份??验证。
编辑
包含-有时函数调用起来更容易/更短/更快 包括-更少的代码编写(没有构造函数,没有类语法)使我懒惰,但这是事实。 对象-强制形式化以及功能和创建的单一方法。
包含-新手更容易处理
我在项目开始时会考虑这些因素,以决定是否要执行包含或对象。 这些并不是真正相反的选择。无论如何,您都将必须包含检查代码。我将您的问题读为过程编程与OO编程。 编写几行代码或一个函数,并将其包括在页面标题中,这就是在PHP3或PHP4中的工作方式。它很简单,可以正常工作(这就是我们在osCommerce中进行此操作的方式,例如,一个eCommerce PHP应用程序)。 但是,正如许多开发人员可以确认的那样,维护和修改并不容易。 在PHP5中,您将编写一个用户对象,该对象将携带自己的数据和身份验证方法。您的代码将更加清晰和易于维护,因为与用户和身份验证有关的一切都将集中在一个地方。 虽然该问题涉及几个非常有争议的问题(OOP,用户身份验证),但我将跳过这些以及第二个Konrad关于__autoload的评论。任何了解C / C ++的人都知道包括文件在内可能会造成的痛苦。使用autoload(PHP5的附加功能),如果您选择使用OOP(我几乎专门这样做),则只需要使用一些标准的文件命名约定,并且(我建议)限制每个文件的单个类,PHP会为您完成其余工作。清理代码,您不必再担心要记住删除不再需要的包含(包含问题的许多问题之一)。
除了在我使用的核心库以及应用程序中这些库的一个中央 这不仅灵活,而且效率很高,并且保持体系结构整洁。 我没有太多的PHP经验,尽管我在目前的工作中正在使用它。通常,我发现大型系统受益于OO提供的可读性和可理解性。但是,诸如一致性(不要将OO和非OO混合在一起)和您的个人偏好(尽管仅在个人项目中确实如此)之类的东西也很重要。 无论是在课堂上还是以更程序性的方式进行操作,您只需要检查以确保: 您可以将所有三个步骤封装到一个函数中(否则Session类中的静态方法可能会起作用)。尝试这个:
您能更具体一点吗?对于您给出的示例,您需要两种方式都使用include。 这取决于应用程序其余部分的构建方式,是OO吗?使用OO。 |
最新内容
相关内容
Python实现批量文件的压缩处理
Python实现批量文件的压缩处理,项目,信息,分析,数据,软件,培训,文件夹,文件,源文件,目标,一、前言接到项目求助,需要对上千个文件夹中的文件进Python如何在后台自动解压各种压缩
Python如何在后台自动解压各种压缩文件?,代码,综合,工具,分析,检测,培训,文件,文件夹,模块,结尾,一、需求描述编写一个Python程序,每次下载压Python文件读取相关方法
Python文件读取相关方法,数据,位置,文件,中行,培训,方法,字节,内容,结果,字符串,我们知道,对文件的读取操作需要将文件中的数据加载到内存中,而如何在 python 中打开文件?
如何在 python 中打开文件?,名称,单位,培训,模式,文件,表示,缓存,路径,函数,定义,使用内置函数open就可以打开文件。先来看下python中对openPython类和对象
Python类和对象,代码,培训,对象,实例,定义,关键字,函数,问题,顶层,全名,刚接触python中的类和对象,我也和大多数小伙伴一样迷茫,不知道它和我所python文件打开模式
python文件打开模式,观点,数据,文件,权威,管理,系统,名称,资料,培训,模式,我们先来看下在Python、PHP和C语言中打开文件的函数定义Python#PytPython文件操作步骤示例
Python文件操作步骤示例,异常,代码,信息,文件,设计,简介,通用,意外,中级,培训,我们来读取这样一个文本文件:song.txt,该文件的字符编码为utf-8Python可执行文件和模块
Python可执行文件和模块,标准,培训,模块,文件,属性,上面,内容,变量,函数,源码,python源代码文件按照功能可以分为两种类型:用于执行的可执行程列举Python面向对象中带双下划线的
列举Python面向对象中带双下划线的特殊方法,信息,代码,培训,对象,属性,方法,实例,字符串,里边,内容,__new__:生成实例__init__:生成实例的属性_Python面向对象的基本概念
Python面向对象的基本概念,概念,信息,位置,新增,培训,属性,鸟类,定义,对象,方法,python使用类(class)和对象(object),进行面向对象(object-oriPython重命名和删除文件
Python重命名和删除文件,培训,文件,方法,文件名,语法,模块,例子,参数,以上,两个,python的os模块提供了帮你执行文件处理操作的方法,比如重命名Python的文件目录
Python的文件目录,平台,工作,目录,时间,培训,系统,文件,路径,操作,函数,1.各种系统操作注意:虽然python中提供了各种拼接目录的函数,但是,函数并