-
Espricho เป็นเฟรมเวิร์ก Lightwieght สำหรับ PHP7 โดยใช้ส่วนประกอบ symfony ที่มีการรองรับระบบแบบแยกส่วนในตัว
Espricho ได้รับแรงบันดาลใจอย่างมากจาก Laravel และ Yii2 โมดูลมันคล้ายกับ Yii2 แต่ต้องขอบคุณคอนเทนเนอร์ Symfony DI มันมีภาชนะที่ทรงพลังเช่น Laravel! Espricho เป็นชื่อเปอร์เซียของ Swallow Bird (ในภาษาเคอร์มานี่)
mafsho เป็นเครื่องมือบรรทัดคำสั่งที่ให้ฟังก์ชั่นจำนวนมากเช่นเครื่องกำเนิดไฟฟ้าเพื่อทำงานได้ง่ายขึ้นด้วย Espricho มันเป็นคำ Farsi หมายถึงกระเป๋า (ในภาษา Kermani) คุณสามารถเรียกใช้ด้วยคำสั่ง 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 ไฟล์ภายใต้หมวดหมู่ Configs หลังจากคำจำกัดความของโมดูลคุณสามารถลงทะเบียนบน modules.yaml ในโฟลเดอร์ Configs ของรูทของโครงการ เนื้อหาตัวอย่างสำหรับไฟล์กำหนดค่านี้คือ:
modules :
shop :
folder : Shop
route_prefix : sh แต่ละโมดูลสามารถมี submodules และพวกเขาจะต้องกำหนดไว้ใน modules.yaml ไฟล์ในโฟลเดอร์ Configs ของไดเรกทอรีโมดูล คำจำกัดความของเส้นทางคล้ายกัน