?
Esprico es un marco de luz de luz para PHP7, basado en componentes de Symfony con un sistema modular incorporado.
Espicho está fuertemente inspirado de Laravel y YII2. Su modularidad es similar a YII2, pero gracias al contenedor Symfony Di, ¡tiene un contenedor poderoso como Laravel! Esprico es el nombre persa de Swallow Bird (en el dialecto de Kermani).
mafsho es una herramienta de línea de comandos que proporciona una gran funcionalidad como los generadores para trabajar más fácilmente con esprico. Es una bolsa de palabra farsi significa bolsa (en el dialecto de Kermani). Puede ejecutarlo con el comando php mafsho .
Esprico tiene una estructura como esta:
├── Bootstrap
├── Components
├── Configs
├── Console
├── Controllers
├── Databases
├── mafsho
├── Models
├── Modules
├── Public
└── Runtime
Hablamos de cada uno en continuar.
Esprico apoya la definición de variables ambientales (variables que dependen del entorno de ejecución). Debe ponerlos en el archivo .env (o .env.dist que dist es una etapa de aplicación). Es una buena idea si todas las claves en el archivo .env sean mayúsculas y comienzan con el nombre de la sección. Por ejemplo, todas las teclas Elasticsearch comienzan con ELASTICSEARCH_ Prefix.
Por otro lado, puede definir configuraciones de nivel de aplicación en los archivos Config/*.yaml . Finalmente, ambas configuraciones son accesibles desde sys()->getConfig('dot.notationed.key', 'default') .
En el archivo sys.yaml , puede establecer los parámetros de arranque del sistema. Como resultado principal, puede definir los cargadores del módulo del sistema debajo de la tecla loader .
sys :
name : Espricho
version : 1.0
max_log_files : 10
loader :
- auth
- db
- modules
- redis
- elasticsearch La configuración de la base de datos debe establecerse en .env la raíz del proyecto. Una muestra para su contenido es similar a esto:
# Database Configurations
DB_DRIVER = mysql
DB_HOST = localhost
DB_PORT = 3306
DB_USERNAME = root
DB_PASSWORD = root
DB_DATABASE = db_name Para definir el módulo, debe colocar su módulo en la carpeta de Modules y definir su estructura en él. Una estructura de muestra puede ser algo como esto:
Modules
└── Shop
├── Configs
│ └── routes.yaml
└── Controllers
└── ProductController.php
Cada módulo tiene sus propias reglas de definición de ruta y deben definirse en el archivo routes.yaml en la categoría Configs . Después de la definición de módulo, puede registrarlo en modules.yaml en la carpeta Configs de la raíz del proyecto. Un contenido de muestra para este archivo de configuración es:
modules :
shop :
folder : Shop
route_prefix : sh Cada módulo puede tener sus submódulos y deben definirse en el archivo modules.yaml en la carpeta Configs del directorio del módulo. La definición de rutas es similar.