?
Espricho ist ein Lightwire-Framework für PHP7, der auf Symfony-Komponenten mit integriertem modularem Systemunterstützung basiert.
Espricho ist stark von Laravel und Yii2 inspiriert. Seine Modularität ähnelt Yii2, aber dank des Symfony DI -Behälters hat es einen leistungsstarken Behälter wie Laravel! Espricho ist der persische Name von Swallow Bird (im Kermani -Dialekt).
mafsho ist ein Befehlszeilen -Tool, das eine Menge Funktionen wie Generatoren bietet, um mit Espricho leichter zu arbeiten. Es ist ein Farsi -Wort bedeutet Tasche (im Kermani -Dialekt). Sie können es mit php mafsho -Befehl ausführen.
Espricho hat eine solche Struktur:
├── Bootstrap
├── Components
├── Configs
├── Console
├── Controllers
├── Databases
├── mafsho
├── Models
├── Modules
├── Public
└── Runtime
Wir sprechen über jeden in weiter.
Espricho unterstützt die Definition von Umgebungsvariablen (Variablen, die von der laufenden Umgebung abhängen). Sie sollten sie auf .env (oder .env.dist welche dist eine Anwendungsstufe ist) einsetzen. Es ist eine gute Idee, ob alle Schlüssel in der .env -Datei obere Fall sind und mit dem Abschnittsnamen beginnen. Beispielsweise beginnt alle Elasticsearch -Schlüssel mit dem Präfix ELASTICSEARCH_ .
Auf der anderen Seite können Sie die Konfigurationen der Anwendungsebene in den Config/*.yaml definieren. Schließlich sind beide Konfigurationen von sys()->getConfig('dot.notationed.key', 'default') zugänglich.
In der sys.yaml -Datei können Sie die Startparameter des Systems festlegen. Als Hauptergebnis können Sie Systemmodullader unter der loader definieren.
sys :
name : Espricho
version : 1.0
max_log_files : 10
loader :
- auth
- db
- modules
- redis
- elasticsearch Die Datenbankkonfiguration sollte auf .env das Root des Projekts festgelegt werden. Ein Beispiel für seinen Inhalt ähnelt folgendermaßen:
# Database Configurations
DB_DRIVER = mysql
DB_HOST = localhost
DB_PORT = 3306
DB_USERNAME = root
DB_PASSWORD = root
DB_DATABASE = db_name Um das Modul zu definieren, müssen Sie Ihr Modul in den Modules stellen und Ihre Struktur darauf definieren. Eine Stichprobenstruktur kann ungefähr so sein:
Modules
└── Shop
├── Configs
│ └── routes.yaml
└── Controllers
└── ProductController.php
Jedes Modul hat seine eigenen Regeln für Routendefinition und muss auf routes.yaml definiert werden. Yaml -Datei unter Configs . Nach der Definition des Moduls können Sie es auf modules.yaml registrieren. Yaml im Configs des Projektstamms. Ein Beispielinhalt für diese Konfigurationsdatei lautet:
modules :
shop :
folder : Shop
route_prefix : sh Jedes Modul kann seine Submodule haben und müssen in modules.yaml -Datei in Configs des Modulverzeichnisses definiert werden. Die Definition von Routen ist ähnlich.