gpt4 book ai didi

PHP 在函数之外需要文件

转载 作者:搜寻专家 更新时间:2023-10-31 21:15:47 26 4
gpt4 key购买 nike

有没有办法在函数之外包含一个文件并让它工作?

即。我有一个文件 db.inc.php,其中包含我的数据库连接字符串:

switch (DB_TYPE) {
case MYSQL :
try {
$DBH = new PDO("mysql:host=" . DB_HOST . ";dbname=" . DB_NAME . "", DB_USER, DB_PASS);
$DBH -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo "Error in Connection" . $e -> getMessage();
}
}

现在我在我的函数文件 functions.php 中需要这个文件:

require('db.inc.php')
function add() {

$n = $DBH -> prepare("");
$n -> execute((array)$s);
}

因此文件已正确添加,但我的函数无法访问 $DBH 句柄。仅当我将文件包含在我的函数中时:

function add(){
require('db.inc.php')

....etc....

}

我的函数会起作用吗。

由于我将在许多文件中至少包含 4-5 个函数,是否有可能仅在函数外部要求它并使函数正常工作?

感谢和问候

最佳答案

在函数外部包含文件后,您可以将变量声明为全局变量,但这确实是一种糟糕的做事方式。相反,您应该将函数传递句柄的调用者作为参数。如果做不到这一点,您可以为数据库创建一个工厂并在每个函数中调用它。

为什么要在函数外调用require

关于PHP 在函数之外需要文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9099267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com