?
Espricho-это световая структура для PHP7, основанная на компонентах Symfony со встроенной модульной системой поддержки.
Эсприхо сильно вдохновлен Ларавелом и YII2. Его модульность похожа на YII2, но благодаря контейнеру Symfony DI у него есть мощный контейнер, такой как Laravel! Эсприхо - персидское название ласточкиной птицы (на диалекте Кермани).
mafsho - это инструмент командной строки, который предоставляет много функциональности, таких как генераторы, чтобы работать более легче с Espricho. Это слово фарси означает сумку (на диалекте Кермани). Вы можете запустить его с помощью команды php mafsho .
У Эсприхо есть такая структура:
├── Bootstrap
├── Components
├── Configs
├── Console
├── Controllers
├── Databases
├── mafsho
├── Models
├── Modules
├── Public
└── Runtime
Мы говорим о каждом из них, продолжая.
Espricho поддерживает определение переменных окружающей среды (переменные, которые зависят от бегущей среды). Вы должны поместить их на .env (или .env.dist dist является файлом Dist Stage). Это хорошая идея, если все ключи в файле .env будут верхним регистом и начинайте с имени раздела. Например, все ключи Elasticsearch начинаются с префикса ELASTICSEARCH_ .
С другой стороны, вы можете определить конфигурации уровня приложений в файлах Config/*.yaml . Наконец, обе эти конфигурации доступны из sys()->getConfig('dot.notationed.key', 'default') .
В файле sys.yaml вы можете установить параметры загрузки системы. В качестве основного результата вы можете определить погрузчики системного модуля под ключом loader .
sys :
name : Espricho
version : 1.0
max_log_files : 10
loader :
- auth
- db
- modules
- redis
- elasticsearch Конфигурация базы данных должна быть установлена на .env Корень проекта. Образец для его содержания похож на это:
# Database Configurations
DB_DRIVER = mysql
DB_HOST = localhost
DB_PORT = 3306
DB_USERNAME = root
DB_PASSWORD = root
DB_DATABASE = db_name Для определения модуля вы должны поместить свой модуль в папку Modules и определить на нем свою структуру. Структура образца может быть чем -то вроде этого:
Modules
└── Shop
├── Configs
│ └── routes.yaml
└── Controllers
└── ProductController.php
Каждый модуль имеет свои собственные правила определения маршрута, и они должны быть определены на routes.yaml Configs После определения модуля вы можете зарегистрировать его на modules.yaml в папке Configs корня проекта. Пример содержимого для этого файла конфигурации:
modules :
shop :
folder : Shop
route_prefix : sh Каждый модуль может иметь свои подмодули, и они должны быть Configs на modules.yaml . Определение маршрутов аналогично.