?
Espricho是PHP7的LightWieght框架,基於具有內置模塊化系統支持的Symfony組件。
Espricho受到Laravel和Yii2的極大啟發。它的模塊化類似於YII2,但由於Symfony DI容器,它具有像Laravel這樣的功能強大的容器! Espricho是燕子鳥(在克曼尼方言)的波斯名稱。
mafsho是一種命令行工具,它提供了許多功能,例如生成器,可以使用Espricho更輕鬆地工作。這是Farsi詞的意思是袋子(在克馬尼方言)。您可以使用php mafsho命令運行它。
Espricho具有這樣的結構:
├── Bootstrap
├── Components
├── Configs
├── Console
├── Controllers
├── Databases
├── mafsho
├── Models
├── Modules
├── Public
└── Runtime
我們在繼續談論每個人。
Espricho支持環境變量的定義(依賴運行環境的變量)。您應該將它們放在.env (或.env.dist是應用程序dist )文件上。如果.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
每個模塊都有其自己的路由Configs規則,必須在routes.yaml上定義它們。在定義模塊後,您可以在項目根的Configs文件夾中的modules.yaml上註冊。此配置文件的示例內容是:
modules :
shop :
folder : Shop
route_prefix : sh每個模塊都可以具有其子模塊,並且必須在模塊目錄的Configs文件夾中的modules.yaml上定義它們。路線的定義相似。