Переменная из другого файла в функции без использования глобальных

Ау,

Я определил (в config.php):

$mysql = mysqli_connect (..);

для подключения к базе данных MySQL.
Теперь я хочу использовать переменную в моих функциях (functions.php):

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

без использования global:

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

какие-нибудь чистые идеи (процедурные)?

2

Решение

Вы можете, например, передать ресурс подключения к вашей функции

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

Другие решения

Вы можете получить доступ к переменным в global-scope без глобального ключевого слова, используя Superglobal $ GLOBALS:

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

Doc: http://php.net/manual/en/reserved.variables.globals.php

Я бы рекомендовал создать отдельную функцию, которая возвращает Database-Handle / Object, который вы можете использовать вместо переменной. например.:

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

По вопросам рекламы [email protected]