Передача данных в функцию с использованием параметров ... например:
function db_connect($dbinfo) {
if (!($db_link = mysqli_connect($dbinfo['Hostname'], $dbinfo['Username'], $dbinfo['Password'], $dbinfo['Database'])))
exit();
return $db_link;
}
и назовите это как
db_connect($globalConf['DbConfig'])
Я думаю, что это самый простой способ.
Обновление
class MainConf {
public $db; // this will get your $globalConf['DbConfig'] array
function __construct($dbinfo) {
$this->db = $dbinfo; // assign it to $db on class construction
}
function db_connect() {
// use it where you want
if (!($db_link = mysqli_connect($this->db['Hostname'], $this->db['Username'], $this->db['Password'], $this->db['Database'])))
exit();
return $db_link;
}
}
Теперь вы можете передавать свои внешние данные в класс следующим образом:
$conf = new MainConf($globalConf['DbConfig']);
$dblink = $conf->db_function();
Таким образом, вам не нужно определять свои данные внутри класса. Просто передайте его как параметр, присвойте этот параметр переменной класса и используйте эту информацию везде, где вы хотите внутри класса.
Но я полагаю, вы используете эту информацию только для db_connect()
, поэтому нет необходимости хранить ее на глобальном уровне внутри класса. Если вы вызываете этот метод вручную, вы можете добавить $dbinfo
параметр в db_connect()
, поэтому вам не нужен метод __construct()
, и ваш класс будет выглядеть так
class MainConf {
function db_connect($dbinfo) {
if (!($db_link = mysqli_connect($dbinfo['Hostname'], $dbinfo['Username'], $dbinfo['Password'], $dbinfo['Database'])))
exit();
return $db_link;
}
}
А теперь назовите это так
$conf = new MainConf;
$dblink = $conf->db_connect($globalConf['DbConfig']);
Просто выберите то, что наилучшим образом соответствует вашим потребностям.