1)Сначала вызывается метод dispatch в него передаются два аргумента ($action с 'common/home') и ($error = new Action с 'error/not_found)
2)Присваиваем второй аргумент свойству
3)Перебираем массив $this->pre_action (сорри не указал его изначально)в нем содержится
объект класса Action с 'common/maintenance'
4)Далее в $result записываем результат вызова метода execute($action) в него мы передали
объект класса Action с 'common/maintenance'
5)Дальше подключается нужный файл с 'common/maintenance' создается объект, запускается метод вообщем вроде ничего сложно
А далее...
возвращается return $action и присваивается $result
затем если $result TRUE то перезаписываем $action с 'common/home'
т.е. получается в $action у нас результат метода объекта с 'common/maintenance'
и далее...
Цикл While если результат TRUE то помещаем в $action результат вызова метода класса Action с 'common/maintenance'
ну получается если он всегда тру (а почему бы и нет?) то что он постоянно будет загружать этот файл, класс, метод?!?
Я понимаю что это бред и такого не может быть, сайт то как то работает, просто вот я так читаю код и не въезжаю=(
(Добавление)
skiphog пишет:
В execute проверяется, есть ли такой файл, класс, метод и если есть, то бросается это все дело в call_user_func_array()
и возвращается $result = null;
Вот в чем криминал! теперь буду копать откуда появится должен NULL! тогда все должно сойтись
Спасибо всем кто отвечает!
|