Инициализации приложения
- ООП Классы и объекты PHP PHP
Файл инициализации приложения, написанного в данном случае с использованием языка PHP, осуществляет сбор данных, загружает файлы и организует информацию для использования в приложении. Например, файл инициализации может выполнять такие функции:
- загрузка и определение всех необходимых констант
- создание объекта подключения к базе данных
- настройка функции автозагрузки для классов
Функции автозагрузки
Функции автозагрузки для классов.
- Автоматическая загрузка классов: autoload, spl_autoload_register
__autoload
- Пример 1. Использование функции __autoload
<?php // Загрузка классов по требованию function __autoload($class) { // Подчеркивание в имени класса заменить на слеш $class = preg_replace('/^class_/', 'class/', $class); $filename = "../../core/" . $class . ".php"; if (file_exists($filename)) { include_once $filename; } } ?>
- Пример 2. Файл с описанием класса (A.class.php) и файл инициализации находятся в одной директории.
<?php class A { function __construct() { echo "<br>Класс ".__CLASS__." найден."; } } ?> <?php function __autoload($className) { echo "Ищем класс $className"; include "$className.class.php"; } $a1 = new A(); ?>
spl_autoload_register
PHP позволяет задать обработчик (функцию или метод класса) который будет вызываться всякий раз при обращении к классу, который еще не определен. Аргументом функции-обработчика является имя вызываемого класса. Обработчик определяетс с помощью функции spl_autoload_register(). Если в качестве обработчика выступает функция, то аргументом 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.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах