Различия
Показаны различия между двумя версиями страницы.
— | fajl_inicializacii_prilozhenija [2021/07/31 21:57] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Инициализации приложения ====== | ||
+ | * ООП [[Классы и объекты]] PHP | ||
+ | |||
+ | **Файл инициализации** приложения, | ||
+ | * загрузка и определение всех необходимых констант | ||
+ | * создание объекта подключения к базе данных | ||
+ | * настройка функции автозагрузки для классов | ||
+ | |||
+ | ====== Функции автозагрузки ====== | ||
+ | **Функции автозагрузки для классов**. | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | ====== __autoload ====== | ||
+ | * **Пример 1**. Использование функции [[http:// | ||
+ | <?php | ||
+ | // Загрузка классов по требованию | ||
+ | function __autoload($class) { | ||
+ | // Подчеркивание в имени класса заменить на слеш | ||
+ | $class = preg_replace('/ | ||
+ | $filename = " | ||
+ | |||
+ | if (file_exists($filename)) { | ||
+ | include_once $filename; | ||
+ | } | ||
+ | } | ||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | |||
+ | |||
+ | * **Пример 2**. Файл с описанием класса (A.class.php) и файл инициализации находятся в одной директории.< | ||
+ | <?php | ||
+ | class A { | ||
+ | function __construct() { | ||
+ | echo "< | ||
+ | } | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | <?php | ||
+ | |||
+ | function __autoload($className) { | ||
+ | echo " | ||
+ | include " | ||
+ | } | ||
+ | |||
+ | $a1 = new A(); | ||
+ | ?> | ||
+ | </ | ||
+ | ====== spl_autoload_register ====== | ||
+ | [[PHP]] позволяет задать обработчик (функцию или метод класса) который будет вызываться всякий раз при обращении к классу, | ||
+ | * **Пример**. Использование функции [[http:// | ||
+ | <?php | ||
+ | |||
+ | /** | ||
+ | * Автозагрузка классов | ||
+ | * @param type $className - имя класса | ||
+ | */ | ||
+ | function myautoload($className) { | ||
+ | // Подчеркивание в имени класса заменить на разделитель директорий | ||
+ | $fileName = strtolower(str_replace(' | ||
+ | include_once $fileName; | ||
+ | } | ||
+ | |||
+ | spl_autoload_register(' | ||
+ | |||
+ | $tt = new Controller_Admin(); | ||
+ | </ | ||
+ | |||
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга