«Обертка»: index.php
1) при вызове
index.php первой вызывается функция
ob_start(), которая отключает вывод в
stdout (он обрабатывается с помощью функции
ob_gzhandler())
2) подключаются классы
- core/classes/RSS.php
- npj/classes/NpjRSS.php
- core/classes/Debug.php
- core/classes/RequestHandler.php
- npj/classes/NpjRequestHandler.php
3) создаются объекты (перечисляю самые важные)
- $rss – объект класса NpjRSS
- $dbg – объект класса Debug
- $rh – объект класса NpjRequestHandler. Он разбирает URL (который трактуется как команда) и берет на себя взаимодействие с сервером. Вся дальнейшая работа с НПЖ будет протекать в зоне видимости и с помощью методов этого объекта.
4) Вызывается метод
HandleRequest() объекта
$rh, результат работы которого выводится в броузер с помощью
$rh->Output($rh->HandleRequest( )); Класс
Debug (и, соответственно, его экземпляр
$dbg) обеспечивает запись лога всех действий НПЖ (который при нормальной работе никуда не выводится).
5) В случае ошибки управление передается снова в
index.php и вызывается метод
$rh->End();
6) Вызывается
ob_end_flush(), что сбрасывает в
stdout лог произошедшего, хранящийся в объекте
$dbg.