Функция автозагрузки Я использую выглядят следующим образом: -PHP - Как быть в состоянии использовать переменные внутри функции __autoload()
function __autoload($moduleName)
{
//Logic to check file existence- include if exists else redirect to fallback page
}
ли не принимать какие-либо другие аргументы? Я хочу выполнить некоторую логику, основанную на некоторых переменных внутри функции автозагрузки. Как мне это сделать без использования глобальных переменных?
Благодаря
Дополнительные детали
Я думаю, что это не возможно, внутри __autoload() класса, но до сих пор пытаются объяснить на примере.
У меня есть файл modules.config, который имеет массив: -
$viewClassMap = array('search_classes' => 'commonClassListings',
'search_packs' => 'commonPackListings',
);
выше массив означает, что класс commonClassListings должен быть включен в случае search_classes просмотра, класс commonPackListings должен быть включен в случае search_packs. Для всех других представлений, по умолчанию, класс commonDisplay будет включен
function __autoload($viewName,$viewClassMap)
{
if(in_array($viewName,$viewClassMap))
{
$viewTobeIncluded = $viewClassMap[$viewName];
include path/to/$viewTobeIncluded;
}
else
{
include path/to/commonDisplay;
}
}
Теперь, я думаю, что логика внутри функции __autoload должна быть выведена, и первым взгляд, загружаемым должно быть вычислено и затем только самозарядной должен быть вызван. Это также и цель автозагрузки (для включения файла класса, объект которого был инициирован).
Обновления
Моя функция автозагрузка не внутри класса представления, объект которой я собираюсь начать во время выполнения (В отличие, например Blizz в). У меня есть общая функция автозагрузки, определенная в файле pageLoader.php, который включен в общий froncontroller. Для каждого модуля, класс представления initatiated как
$view = new search_classes();
Тогда общая функция автозагрузки должна проверить соответствующий родительский класс вида (commonClassListings в данном случае) присутствуют или нет, если да, включить его и search_classes посмотреть на себя и пропустить объект, иначе отступить. Для этого мне нужно передать массив $viewClassMap
функции автозагрузки. Это возможно?
Я выберу лучший ответ после попытки решения ... –