函数中不同文件的变量,不使用全局变量


Variable from different file in function without using global

Ay,

我定义(在config.php中):

$mysql = mysqli_connect (..);

用于连接到mySQL数据库。现在我想在函数(functions.php)中使用变量:

function x () { $fetch = ($mysql, "SELECT ...")); }

不使用全局:

function x () { global $mysql ... }

有没有干净的想法(程序性的)?

例如,您可以将连接资源传递给您的函数

function x ($mysqli) { $mysqli->... }

您可以使用Superglobal$GLOBALS:访问全局范围内的变量,而无需全局关键字

function x() { $GLOBALS['mysql']->... }

文件:http://php.net/manual/en/reserved.variables.globals.php

我建议创建一个单独的函数,返回您可以使用的数据库句柄/对象,而不是变量。例如:

function db() { return $GLOBALS['mysql']; }
function x() { db()->... }