?
Espricho adalah kerangka kerja ringan untuk php7, berdasarkan komponen simfony dengan dukungan sistem modular bawaan.
Espricho sangat terinspirasi dari Laravel dan Yii2. Modularitasnya mirip dengan YII2 tetapi berkat wadah Symfony di, ia memiliki wadah yang kuat seperti Laravel! Espricho adalah nama Persia dari Swallow Bird (dalam dialek Kermani).
mafsho adalah alat baris perintah yang menyediakan banyak fungsionalitas seperti generator untuk bekerja lebih mudah dengan espricho. Ini adalah kata farsi berarti tas (dalam dialek Kermani). Anda dapat menjalankannya dengan perintah php mafsho .
Espricho memiliki struktur seperti ini:
├── Bootstrap
├── Components
├── Configs
├── Console
├── Controllers
├── Databases
├── mafsho
├── Models
├── Modules
├── Public
└── Runtime
Kami berbicara tentang masing -masing di melanjutkan.
Espricho mendukung definisi variabel lingkungan (variabel yang bergantung pada lingkungan berjalan). Anda harus menempatkan mereka di .env (atau .env.dist yang dist adalah tahap aplikasi). Ini ide yang bagus jika semua kunci pada file .env menjadi huruf besar dan mulailah dengan nama bagian. Misalnya, semua kunci Elasticsearch dimulai dengan awalan ELASTICSEARCH_ .
Di sisi lain, Anda dapat mendefinisikan konfigurasi level aplikasi di file Config/*.yaml . Akhirnya kedua konfigurasi ini dapat diakses dari sys()->getConfig('dot.notationed.key', 'default') .
Pada file sys.yaml , Anda dapat mengatur parameter boot sistem. Sebagai hasil utama, Anda dapat mendefinisikan pemuat modul sistem di bawah tombol loader .
sys :
name : Espricho
version : 1.0
max_log_files : 10
loader :
- auth
- db
- modules
- redis
- elasticsearch Konfigurasi basis data harus ditetapkan pada .env root proyek. Sampel untuk kontennya mirip dengan ini:
# Database Configurations
DB_DRIVER = mysql
DB_HOST = localhost
DB_PORT = 3306
DB_USERNAME = root
DB_PASSWORD = root
DB_DATABASE = db_name Untuk mendefinisikan modul, Anda harus meletakkan modul Anda di bawah folder Modules dan menentukan struktur Anda di atasnya. Struktur sampel bisa menjadi sesuatu seperti ini:
Modules
└── Shop
├── Configs
│ └── routes.yaml
└── Controllers
└── ProductController.php
Setiap modul memiliki aturan definisi rute sendiri dan harus didefinisikan pada file routes.yaml di bawah kategori Configs . Setelah definisi modul, Anda dapat mendaftarkannya di modules.yaml di folder Configs root proyek. Konten sampel untuk file konfigurasi ini adalah:
modules :
shop :
folder : Shop
route_prefix : sh Setiap modul dapat memiliki submodul dan mereka harus ditentukan pada file modules.yaml di folder Configs dari Direktori Modul. Definisi rute serupa.