Конфигурация фреймворка
Структура проекта
На текущий момент у нас есть такая структура. Повторюсь, здесь появится еще папка vendor, где будет располагаться ядро фреймворка и дополнительные зависимости для нашего проекта.
Продолжаем создание собственного фреймворка
Папки и классы
- app: Здесь будут классы нашего приложения, включая контроллеры, модели и виджеты.
- vendor: Папка для классов ядра фреймворка и сторонних библиотек.
Все это должно работать вместе, не конфликтовать и автоматически загружаться. Для этого нам потребуется автозагрузчик классов.
PSR-4 и Composer
Мы будем использовать автозагрузку по стандарту PSR-4. Для этого создадим файл Composer.json
Пример файла Composer.json:
``json { "autoload": { "psr-4": { "blog\\": "vendor/blog/" } } }
Будьте аккуратны с синтаксисом данного файла, так как он чувствителен к возможным ошибкам.
### Установка Composer
Если вы используете OSPanel, откройте консоль и перейдите в папку вашего проекта:
bash cd home/nikolayogreba.loc
Затем выполните команду:
bash composer install `` ### Структура и автозагрузка После установки Composer у вас должна появиться папка **vendor**, где можно создать папку **blog** для классов ядра фреймворка. #### Подключение автозагрузчика В конфигурационном файле **init.php** (в папке **config**) подключите автозагрузчик:
require_once __DIR__ .'/../vendor/autoload.php';
### Константы конфигурации Объявим ряд констант, например: - **DEBUG**: для режима разработки. - **ROOT**: для корня приложения. - **APP**: для папки приложения.
- DEBUG: Включает режим отладки (1).
- ROOT: Указывает на корневую директорию проекта.
- WWW: Путь к публичной папке, доступной через веб.
- APP: Директория с основной логикой приложения.
- IMAGES: Путь к папке с изображениями.
- DIR: Директория для файлов представлений.
- CORE: Путь к основной библиотеке проекта.
- HELPERS: Папка с вспомогательными функциями.
- CACHE: Директория для кэша.
- CONF: Путь к конфигурационным файлам.
- LOGS: Директория для логов приложения.
- CONFIG: Дублирующий путь к конфигурационным файлам.
- LAYOUT: Название основного шаблона.
- PATH: Полный URL-адрес с учетом протокола (HTTP/HTTPS).
- ADMIN и ADMIN_PATH: Путевые адреса к административной панели и ее ресурсам.
- NO_IMAGE: Путь к изображению по умолчанию, если отсутствует загруженное изображение.
- Автозагрузка: Подключает файл автозагрузки Composer для работы с зависимостями.
### ⚙️ Проверка версии PHP Для проверки, что используется версия PHP 8 и выше, добавьте следующий код в папку public с index.php
if (PHP_MAJOR_VERSION < 8) {
die('Необходима версия PHP больше либо равна 8.');
}
И подключаем наш только что созданный файл init.php
require_once dirname(__DIR__) .'/config/init.php';
### Завершение урока На этом урок заканчивается. Мы настроили конфигурацию приложения и проверку версии PHP. В следующем уроке продолжим работу над функционалом.
Добавить комментарий или задать вопрос ツ
Комментариев нет