Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP重用:“PHP重用”与“PHP重用”之间的区别是什么;“包括文件”;及;功能;?_Php - Fatal编程技术网

PHP重用:“PHP重用”与“PHP重用”之间的区别是什么;“包括文件”;及;功能;?

PHP重用:“PHP重用”与“PHP重用”之间的区别是什么;“包括文件”;及;功能;?,php,Php,在PHP中重用代码的“包含文件”和“函数”之间有什么区别 我可以列举1个区别:当使用函数时,调用方脚本不能访问函数本地变量,但当包含includer脚本时,调用方脚本可以访问包含脚本的本地变量 还有什么区别 何时应使用“函数”以及何时应使用“包含文件” 对于DB连接,通常使用哪种连接?函数是可调用的代码块。通常由开发人员在多次使用某个代码块时创建。您不需要在多个地方编写相同的代码,而是创建一个函数,并在需要时调用它 此外,一些开发人员创建函数以使代码中的某项任务具有可读性和可理解性。它们使用函数

在PHP中重用代码的“包含文件”和“函数”之间有什么区别

我可以列举1个区别:当使用函数时,调用方脚本不能访问函数本地变量,但当包含includer脚本时,调用方脚本可以访问包含脚本的本地变量

还有什么区别

何时应使用“函数”以及何时应使用“包含文件”


对于DB连接,通常使用哪种连接?

函数是可调用的代码块。通常由开发人员在多次使用某个代码块时创建。您不需要在多个地方编写相同的代码,而是创建一个函数,并在需要时调用它

此外,一些开发人员创建函数以使代码中的某项任务具有可读性和可理解性。它们使用函数作为特定代码块的“标签”。例如,我将为读取文件的特定代码块创建一个
readFile()
函数

另一方面,Includes将一个文件“合并”到调用文件中,就像它被编码到该文件中一样。这使得在另一个文件中声明的内容在调用它的作用域中的当前文件中可用


至于用什么,你两者都用

要将DB连接代码与当前文件分开,我需要在另一个文件(如
dbcon.php
)中创建一个DB类,其中包含与DB接口所需的所有属性和方法(函数)


然后,在需要DB连接的文件中(如
index.php
),它应该使用
include
来“合并”包含
index.php的DB类的文件,以使用类定义。

这似乎是一个明显的问题,但分享我们的经验还是很有趣的

应使用
require\u一次性包含配置文件(常数即)。因为没有它,您的系统就无法工作(需要),并且应该只包含一次(一次)。
所以<代码>类
数据库配置
常量
和核心文件应该由
require\u插入一次
,而不是使用
include
,因为如果某些文件丢失,它会抛出致命错误并停止执行,从而防止错误链

那么,我们什么时候可以使用
包含

include
应用于
包含
更复杂的部分代码(例如,包含其他内容),以及系统不需要强制或必需的部分代码。例如,您可以考虑为视图包含一个模块。(包括处理tpl文件的php文件)。当我和其他开发人员一起开发系统时,我会想:有些部分是共享的(即数据库),有些部分是本地的。若我修改了共享部分中的某个内容,导致其他开发人员的包含失败,那个么它不会对他们造成致命错误。(这只是一个例子)

现在:我应该在什么时候使用
函数

当您编写很多函数时,您可以使用包含的单个文件(或者更好地说,是必需的),并在需要时调用其中一个函数。此外,所有函数中的代码都进行了封装,以防止与代码的其他部分发生恼人的冲突(请相信我:这种情况经常发生,而且发现错误并不总是那么容易)


优点:一个文件可以实现多个功能,所有代码都可以封装。

跨多个文件维护功能的目的是保持对站点的控制。有时这被称为MVC模式,其中一个文件服务于模型,另一个文件服务于视图,最后是控制器。在设计时,我通常为数据库提供一个接口,用于定义数据库中的函数和变量。然后,我开发抽象类来实现核心功能的接口。最后,我将为特定的视图类型(如视频、图像、帖子)扩展抽象类。我对include和function的了解是,该函数可以一次创建,并在同一页面脚本上多次调用。但include是在一个页面脚本要在另一个页面中使用时使用的。