Файл инициализации приложения, написанного в данном случае с использованием языка PHP, осуществляет сбор данных, загружает файлы и организует информацию для использования в приложении. Например, файл инициализации может выполнять такие функции:
Функции автозагрузки для классов.
<?php // Загрузка классов по требованию function __autoload($class) { // Подчеркивание в имени класса заменить на слеш $class = preg_replace('/^class_/', 'class/', $class); $filename = "../../core/" . $class . ".php"; if (file_exists($filename)) { include_once $filename; } } ?>
<?php class A { function __construct() { echo "<br>Класс ".__CLASS__." найден."; } } ?> <?php function __autoload($className) { echo "Ищем класс $className"; include "$className.class.php"; } $a1 = new A(); ?>
PHP позволяет задать обработчик (функцию или метод класса) который будет вызываться всякий раз при обращении к классу, который еще не определен. Аргументом функции-обработчика является имя вызываемого класса. Обработчик определяетс с помощью функции spl_autoload_register(). Если в качестве обработчика выступает функция, то аргументом spl_autoload_register() будет являться строка с именем функции (как в примере ниже).
<?php /** * Автозагрузка классов * @param type $className - имя класса */ function myautoload($className) { // Подчеркивание в имени класса заменить на разделитель директорий $fileName = strtolower(str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'); include_once $fileName; } spl_autoload_register('myautoload'); // регистрируем функцию-обработчик $tt = new Controller_Admin();
Имя класса Controller_Admin будет преобразован в имя файла controller/admin.php и admin.php будет искаться сначала в текущей директории, потом в путях содержащихся в опции include_path.