Настройка глобального массива (вне класса) - PullRequest
0 голосов
/ 17 октября 2011

У меня есть несколько классов (в отдельных файлах, например /classes/admin.class.php), и я бы хотел, чтобы они имели доступ к глобальному массиву, который загружается в основной файл (index.php).

Я хочу, чтобы содержимое глобального массива было $cq->fetch_assoc().

Как мне это сделать?Я читал об этом, но я просто не могу разобраться с этим.

$GLOBALS, кажется, работает, но разве это не устаревшая версия (как $HTTP_POST_ARRAY?)

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 17 октября 2011

Любая переменная, которую вы объявляете в файле index.php, будет доступна для всех последующих включенных файлов. Однако, как только вы войдете в определение функции, эта переменная будет недоступна. Вы можете сделать его доступным, используя ключевое слово "global".

Например:

index.php

<?php
   $var = $cq->fetch_assoc();
?>

/ классы / admin.inc.php

<?php
echo $var; //Will work!

function foo() {
    global $var;

    echo $var; //Won't work without global keyword!
}
0 голосов
/ 18 октября 2011

$GLOBALS, кажется, работает, но разве это не устаревшая версия (например, $HTTP_POST_ARRAY?)

Нет, это две разные вещи.$GLOBALS не является устаревшим, но суперглобальная переменная , которая предоставляет вам доступ к таблице глобальных переменных в PHP.

$HTTP_POST_ARRAY устарела, поскольку вместо нее следует использовать $_POST.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...