การแยกลำดับชั้นบางส่วนขึ้นอยู่กับเฟรมเวิร์ก Yii2
ผู้ควบคุม
- เพียงแค่ใช้เลเยอร์การส่งข้อมูลแบบโปร่งใสเป็นพารามิเตอร์การห่อหุ้มคลาสฐานอีกครั้ง (เพิ่มการตรวจสอบความถูกต้องโทเค็นและฟังก์ชั่นอื่น ๆ ในภายหลัง)
แบ่งเลเยอร์โมเดลออกเป็นสามเลเยอร์: บริการ (เลเยอร์บริการ), BO (Data Object/การประมวลผลเลเยอร์), DAO (เลเยอร์การคงอยู่)
- บริการ: ส่วนใหญ่เกี่ยวข้องกับตรรกะทางธุรกิจที่ซับซ้อน คอนโทรลเลอร์ในโมดูลสอดคล้องกับไดเรกทอรีย่อยของบริการและวิธีการสอดคล้องกับคลาสซึ่งสามารถตอบสนองความเป็นอิสระและการทำงานร่วมกันของตรรกะทางธุรกิจที่ซับซ้อน
- BO: ส่วนใหญ่มีหน้าที่รับผิดชอบในการรับข้อมูลเช่นการได้รับข้อมูล db, ข้อมูลแคช, ข้อมูลอินเตอร์เฟสภายนอก, การประมวลผลข้อมูลบรรจุภัณฑ์และการออกแบบเป็นไปตามหลักการของความเป็นโสดของวิธีการ
- DAO: ส่วนใหญ่รับผิดชอบต่อการคงอยู่ของข้อมูล ไม่มีรหัสการประมวลผลตรรกะทางธุรกิจในการดำเนินงานของ DB มันเป็นเพียงการเพิ่มลบแก้ไขและตรวจสอบการดำเนินการ สามารถอนุญาตให้มีการจัดรูปแบบข้อมูลเล็กน้อย
การห่อหุ้มคลาสการกำหนดค่าใหม่
- สภาพแวดล้อมสภาพแวดล้อมที่ไม่ได้ใช้ YII นั้นแบ่งออกเป็นสามสภาพแวดล้อม: Dev, Test และ Prod สภาพแวดล้อมทั้งสามนั้นเป็นอิสระ พวกเขาจะใช้โดยตรงเพื่อเพิ่มการดีบักและ run_mode ใน php.ini ในสภาพแวดล้อม PHP ที่ทำงานอยู่ปัจจุบัน สิ่งนี้ใช้ในการตัดสินใจว่าจะเปิดใช้งานโหมดการดีบักและตัดสินใจว่าจะใช้ไฟล์การกำหนดค่าสภาพแวดล้อมใด
การห่อหุ้มชั้นเรียนการจัดการข้อยกเว้นอีกครั้ง
- ส่วนใหญ่กำหนดเป้าหมายการบรรจบกันของข้อยกเว้นที่เกิดขึ้นในตรรกะทางธุรกิจและจัดการรหัสข้อยกเว้นและข้อมูลข้อยกเว้นในลักษณะที่เป็นเอกภาพ
การกำหนดค่าค่าคงที่การบรรจุใหม่
- รวมค่าคงที่ที่กระจัดกระจายไว้ในรหัสธุรกิจของตนเป็นค่าคงที่และกำหนดระดับคงที่ตามบล็อกธุรกิจ
เพิ่มโมดูล SQLMAP
- คำสั่ง SQL ทั้งหมดจะต้องกำหนดใน SQLMAP และดำเนินการกับการประมวลผลคำสั่งใน dB ที่ถูกห่อหุ้มอีกครั้ง ข้อได้เปรียบที่ใหญ่ที่สุดของการใช้ SQLMAP คือการอำนวยความสะดวกในการจัดการ SQL และการตรวจสอบและลดการลากแอปพลิเคชันประสิทธิภาพของ SQL ที่ซับซ้อน
เพิ่มโมดูลแคช
- คำสั่งคีย์แคชทั้งหมดจะต้องกำหนดในแคชและใช้งานแคชร่วมกับการจัดสรรใหม่ของการประมวลผลแคชในไลบรารี ข้อได้เปรียบที่ใหญ่ที่สุดของการใช้ SQLMAP คือการอำนวยความสะดวกในการตรวจสอบคีย์แคชและการจัดการการจัดการเวลาลดความขัดแย้งที่สำคัญและป้องกันการเจาะแคชและหิมะถล่ม
เพิ่มโมดูลการตรวจสอบพารามิเตอร์
- ตามตรรกะทางธุรกิจสามารถตรวจสอบข้อมูลธุรกิจบางอย่างเช่นความจำเป็นความยาว ฯลฯ และการตรวจสอบฟังก์ชั่นที่ไม่ระบุชื่อสามารถส่งผ่านได้
เพิ่มไลบรารีไลบรารี
- ส่วนใหญ่ส่วนประกอบเครื่องมือการประมวลผลบางส่วน
เขียนคำตอบใหม่
- ออกแบบอย่างสมบูรณ์ตาม Restapi ผลตอบแทนทั้งหมดจะรวมเป็น json
เพิ่มเลเยอร์มิดเดิลแวร์
- ดำเนินการที่จำเป็นสำหรับการกำหนดค่าตามโมดูลเช่นการรับรองความถูกต้องการกรองและการโหลดต่อต้านการโจมตีของมิดเดิลแวร์เช่นการโหลดตามความต้องการ
เพิ่มคิวข้อความ/คิวข้อความล่าช้า
- รวม Beanstalk เป็นบริการคิวข้อความและรองรับคิวข้อความล่าช้า
เครื่องมือบันทึกการบรรจุใหม่
- ใช้ข้อความเพื่อประมวลผลข้อกำหนดการเขียนบันทึกพร้อมกันแบบอะซิงโครนัส บันทึกการผลิตสามารถใช้ในแอปพลิเคชันที่แตกต่างกัน สามารถเปิดกระบวนการหลายกระบวนการในเวลาเดียวกันโดยใช้เซิร์ฟเวอร์เพื่อดำเนินการเขียนบันทึก
เพิ่มการค้นหาข้อความแบบเต็ม
- ซิงโครไนซ์ MySQL ตาม Elasticsearch เพื่อให้บริการค้นหาข้อความแบบเต็มข้อความ
การเปลี่ยนแปลงทั้งหมดข้างต้นไม่เกี่ยวข้องกับการเปลี่ยนแปลงห้องสมุดหลักของ Yii2 ดังนั้น Yii2 สามารถอัพเกรดได้ตามปกติในหลักการ นอกจากนี้องค์ประกอบหลักทั้งหมดใน Yii2 ยังสามารถใช้ตามปกติ ขอแนะนำให้ใช้พวกเขาในระดับที่กำหนดใหม่เพื่อให้ธุรกิจ decoupling และการบรรจบกันทางธุรกิจ
demo.run_mode = dev/test/prod demo.debug = True สอดคล้องกับการพัฒนาการทดสอบและสภาพแวดล้อมออนไลน์ตามลำดับ โปรดทราบว่าการดีบักเป็นเท็จในโหมด Prod