Страница 659 из 813 Работа с диспетчером протоколирования Наконец, диспетчер протоколирования готов. Для удобства использования в приложении имеется индексная страница, с которой можно инициализировать базу данных, запускать все тесты, записывать информацию в базу данных и просматривать отчеты. Однако прежде чем использовать приложение, необходимо рассмотреть один файл, который связывает все приложение в единое целое: userlog.php. userlog.php Сценарий userlog.php отвечает за непосредственный сбор данных запроса. Он принимает строку запроса и создает новый UserLog-объект, который затем записывается в базу данных — при условии, что информация, переданная в URL, проходит функции проверки данных. Все это делается в блоке try-catch, который используется для генерирования одного из исключений MultiLogExceptions() в случае возникновения каких-либо ошибок: f ? require_once ("settings.php"); require_once ("lib/class.UserLog.php"); try { $ul = new UserLog ($_REQUEST); $ul->persist(); } catch (MultiLogException $e) { print $e->getErrorMessage(); print "<^Ь3>Информация phpinfo:</h3>"; phpinfo(); // небезопасно } ?> Каждый сайт может передавать информацию с помощью URL-строки: http://logging_site/userlog.php?site=101§ion=1&login=user101&sessionid =1E2 3 553&firstname=Alice&lastname=AppleGate&address1=12 3Main&city =Sandusky&state=0H&zip=44 87 0 Для обработки данных можно использовать методы, а поскольку необходимо сохранить данные (т.е. записать их в базу), следует вызвать для этих данных метод persist(). Просмотр интерфейса диспетчера протоколирования Откройте в Web-браузере индексную страницу диспетчера протоколирования (рис. 17.8). После щелчка по ссылке Инициализация базы данных на странице отобразится сообщение Готово (при успешном выполнении). Выше уже описывались результаты запуска трех тестов, поэтому нет необходимости проверять эти ссылки снова. Щелкните по ссылке Отправка журналов. В результате на странице отобразится полная распечатка двух UserLog-объектов, UserDemographic-объектов и ссылка для просмотра отчетов (подтверждающая, что эти объекты были записаны в базу данных), как показано на рис. 17.9.
|