Я изучаю принципы ООП-системы входа / выхода (по phpacademy на YT). Вот код, который вызывает у меня головную боль:
$GLOBALS['config'] = array(
'init' = array(
'hostname' = "127.0.0.1",
'username' = 'root',
'password' = '',
'db' = 'dbName'
),
'remember' = array(
'cookie_name' = 'hash',
'cookie_expiry' = 604800
),
'session' = array(
'session_name' = 'user'
)
);
spl_autoload_register(function($class){
require_once 'classes/' . $class . '.php';
});
Это, очевидно, массив массивов с различными битами информации, необходимыми для инициализации сеанса и подключения к БД, хранящейся в этих «подмассивах».
То, что я не могу обернуть вокруг себя, это начало — он, очевидно, хранит этот массив массивов в переменной $ GLOBALS; что такое часть [‘config’]?
Что это между «[]»? Имя переменной? Объявление того, что следует за массивом (почему тогда слово массив, после «=»?)
Большое спасибо!
$GLOBALS
это массив. Это массив всех глобальных переменных в вашем PHP-скрипте. ['config']
как вы получаете доступ к элементам в массиве в PHP.
в $GLOBALS
массив, он устанавливает 'config'
ключ к массиву. Этот массив содержит 3 ключа: 'init'
, 'remember'
, а также 'session'
,
Я думаю, вам нужно узнать разницу между индексированным массивом и ассоциативным массивом. В Php вы можете определить array
два пути. Первый — это простой массив:
$array = array("1", "2", "3");
Это создаст индексный массив (индекс равен 0 — n для длины массива), к которому вы можете получить доступ следующим образом:
echo $array[0]; // Would echo "1"
Довольно прямо сейчас? Следующий тип массива, который вы можете объявить, это ассоциативный массив:
$array = array("one" => "1", "two" => "2", "three" => "3");
Этот массив настроен немного по-другому. Вместо того, чтобы начинать с 0 и добавлять 1 для каждого элемента в массиве, вы определяете key => value
создать пару для массива и получить доступ к любому элементу, используя этот key
значение:
echo $array["one"]; // Would echo "1"
По существу, $GLOBALS
это массив, и $GLOBALS["config"]
является ассоциативной записью в этом массиве, к которой можно получить доступ в любое время, используя config
ключ. Надеюсь, что это имело смысл. Проверьте руководство php для получения дополнительной информации о массивах и их использовании:
php.net короток, но достаточно подробен об этом: http://php.net/manual/en/reserved.variables.globals.php
В этом случае, config
это индекс массива А именно индекс верхнего уровня для $GLOBALS
массив.
Ты можешь использовать print_r($GLOBALS)
или же var_dump($GLOBALS)
чтобы увидеть хорошее представление о структуре массива.