؟
Espricho هو إطار Lightwieght لـ PHP7 ، استنادًا إلى مكونات Symfony مع دعم نظام معياري مدمج.
Espricho مستوحى بشدة من Laravel و Yii2. تتشابه نموذجها مع Yii2 ولكن بفضل حاوية Symfony DI ، فإنه يحتوي على حاوية قوية مثل Laravel! Espricho هو الاسم الفارسي للطيور ابتلاع (في لهجة كرماني).
mafsho هي أداة سطر الأوامر التي توفر الكثير من الوظائف مثل المولدات للعمل أسهل مع Espricho. إنها كلمة فارسية تعني حقيبة (في لهجة كرماني). يمكنك تشغيله باستخدام أمر 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
كل وحدة لها قواعد تعريف الطريق الخاصة بها ويجب تعريفها على routes.yaml ملف yaml ضمن فئة Configs . بعد تعريف الوحدة النمطية ، يمكنك تسجيله على modules.yaml yaml في مجلد Configs من جذر المشروع. عينة محتوى ملف التكوين هذا هو:
modules :
shop :
folder : Shop
route_prefix : sh يمكن أن تحتوي كل وحدة نمطية على عروضها الفرعية ويجب تعريفها على modules.yaml ملف yaml في مجلد Configs من دليل الوحدة النمطية. تعريف الطرق مشابه.