?
Espricho est un framework Lightwieght pour PHP7, basé sur des composants Symfony avec une prise en charge du système modulaire intégré.
Espricho est fortement inspiré de Laravel et Yii2. Sa modularité est similaire à YII2 mais grâce au conteneur Symfony di, il a un conteneur puissant comme Laravel! Espricho est le nom persan de Bird Bird (en dialecte Kermani).
mafsho est un outil de ligne de commande qui offre beaucoup de fonctionnalités comme les générateurs pour travailler plus facilement avec Espricho. C'est un mot Farsi signifie sac (en dialecte kermani). Vous pouvez l'exécuter avec la commande php mafsho .
Espricho a une structure comme celle-ci:
├── Bootstrap
├── Components
├── Configs
├── Console
├── Controllers
├── Databases
├── mafsho
├── Models
├── Modules
├── Public
└── Runtime
Nous parlons de chacun de continuation.
Espricho prend en charge la définition des variables environnementales (variables qui dépendent de l'environnement de course). Vous devez les mettre sur le fichier .env (ou .env.dist dist est une étape d'application). C'est une bonne idée si toutes les clés du fichier .env sont en haut et commencez par le nom de la section. Par exemple, toutes les clés Elasticsarch commence par le préfixe ELASTICSEARCH_ .
De l'autre côté, vous pouvez définir des configurations de niveau d'application dans les fichiers Config/*.yaml . Enfin, ces deux configurations sont accessibles à partir de sys()->getConfig('dot.notationed.key', 'default') .
Sur le fichier sys.yaml , vous pouvez définir les paramètres de démarrage du système. En conséquence principale, vous pouvez définir les chargeurs de modules système sous la touche loader .
sys :
name : Espricho
version : 1.0
max_log_files : 10
loader :
- auth
- db
- modules
- redis
- elasticsearch La configuration de la base de données doit être définie sur .env La racine du projet. Un échantillon pour son contenu est similaire à ceci:
# Database Configurations
DB_DRIVER = mysql
DB_HOST = localhost
DB_PORT = 3306
DB_USERNAME = root
DB_PASSWORD = root
DB_DATABASE = db_name Pour définir le module, vous devez mettre votre module dans le dossier Modules et définir votre structure dessus. Une structure d'échantillon peut être quelque chose comme ceci:
Modules
└── Shop
├── Configs
│ └── routes.yaml
└── Controllers
└── ProductController.php
Chaque module a ses propres règles de définition d'itinéraire et il doit être défini sur le fichier routes.yaml dans la catégorie Configs . Après définition du module, vous pouvez l'enregistrer sur modules.yaml dans le dossier Configs de la racine du projet. Un exemple de contenu pour ce fichier de configuration est:
modules :
shop :
folder : Shop
route_prefix : sh Chaque module peut avoir ses sous-modules et ils doivent être définis sur le fichier modules.yaml dans le dossier Configs du répertoire du module. La définition des routes est similaire.