โครงสร้างของเฟรมเวิร์กฟรุคตัมค่อนข้างง่าย
Framwork ใช้เทมเพลตการออกแบบ HMVC (คอนโทรลเลอร์แบบจำลองคุณภาพ)
ส่วนที่สูงที่สุดของเฟรมเวิร์กคือจุดอินพุต - ไฟล์ที่กระตุ้นการเปิดตัวแอปพลิเคชัน ในทางปฏิบัติมันสามารถเป็นสคริปต์ index.php สำหรับเว็บเซิร์ฟเวอร์หรือไฟล์ปฏิบัติการของระบบปฏิบัติการ ในจุดอินพุตแอปพลิเคชันจะเปิดตัวเสมอ
แอปพลิเคชันเป็นแนวคิดที่มีเงื่อนไข นี่คือคลาสที่ควบคุมอินพุตและเอาต์พุตของข้อมูล การแยกออกเป็นแอปพลิเคชันช่วยให้คุณสามารถทำให้โครงการของคุณเป็นสากล - มันจะสามารถเริ่มต้นได้ทั้งสองจากใต้คอนโซลและผ่านเบราว์เซอร์ในขณะที่แต่ละกรณีคุณสามารถเขียนตัวจัดการแยกต่างหาก แต่ด้วยทั้งหมดนี้ใช้ไลบรารีเดียวกัน
ตัวอย่างของแอปพลิเคชัน:
เมื่อจุดอินพุตเปิดผู้ให้บริการ (รวมถึง ต้องการ) มันจะเป็นไปได้ที่จะเริ่มแอปพลิเคชัน
ผู้ขนส่งสินค้ากำลังมองหาแอปพลิเคชันที่เหมาะสมจากนั้นคำแนะนำที่เกี่ยวข้องจะถูกดำเนินการ ในกรณีของเว็บแอปพลิเคชันเราเตอร์จะเปิดตัวซึ่งจะกำหนดเส้นทางที่ต้องการหากแอปพลิเคชันเป็นคอนโซลโปรเซสเซอร์เดียวของแอปพลิเคชันคอนโซลจะถูกเปิดตัว
คลาสทั้งหมดของโครงการ (ยกเว้นระดับต่ำสุดของฟริกตัม) มีอยู่ในส่วนขยายโมดูลตะขอและสคริปต์ของเฟรมเวิร์ก (ต่อไปนี้คลาสระบบ)
เมื่อคุณต้องการโหลดคลาสใด ๆ ก่อนอื่นผู้ขนส่งสินค้าจะตรวจสอบไดเรกทอรีด้วยตะขอ Khuki ถูกสร้างขึ้นเพื่อเขียนสคริปต์ของนิวเคลียสและส่วนขยาย Huki ยังสามารถใช้ในการเขียนแอปพลิเคชันเอง
ประการที่สองมีการตรวจสอบแคตตาล็อกระบบที่มีคลาสระบบ ชั้นเรียนเหล่านี้เป็นญาติของฟรุคตัมและไม่แนะนำให้ใช้ไดเรกทอรีของพวกเขาเพื่อสัมผัสไดเรกทอรีของพวกเขาเพื่อหลีกเลี่ยงปัญหาเกี่ยวกับความเข้ากันได้และการอัปเดตเฟรมเวิร์ก หากคุณต้องการเปลี่ยนคลาสระบบให้ใช้ hooks - สร้างคลาส -hook คลาสที่มีชื่อเดียวกันและจะไม่ถึงสคริปต์ระบบ
สุดท้ายมีการตรวจสอบส่วนขยาย นี่คือการเพิ่มกรอบที่ทุกคนสามารถเขียนและเผยแพร่ พวกเขายังสามารถใช้ในการเขียนแอปพลิเคชันเอง
การขยายตัวสามารถมีโมดูลของตัวเอง ("การขยายส่วนขยาย") โมดูลถูกสร้างขึ้นในกรณีที่การขยายตัวมีขนาดใหญ่ (ตัวอย่างเช่น CMS) และให้การปรับเปลี่ยน ในการกำหนดโมดูลที่เป็นของการขยายตัวมันก็เพียงพอที่จะเพิ่มคำนำหน้าด้วยชื่อของการขยายไปยังชื่อของโมดูล (ตัวอย่างเช่น test_moodule จะเป็นโมดูลเพื่อขยายการทดสอบ) หากคุณเพิ่มโมดูลลงในการขยายตัวที่ไม่มีอยู่จริงมันจะไม่ถูกโหลด
แอปพลิเคชันใน Fructum Framework เป็นระบบระดับต่ำที่กำหนดตัวจัดการข้อมูลและควบคุมผลลัพธ์ของคำตอบ กล่าวอีกนัยหนึ่งนี่คือระบบที่ยอมรับข้อมูลถ่ายโอนไปยังโปรเซสเซอร์แล้วแสดง
จำเป็นต้องมีการแยกออกเป็นแอปพลิเคชันในกรณีที่ข้อมูลที่กำหนดและที่ยอมรับอาจแตกต่างกัน หากคุณเขียนแอปพลิเคชันคอนโซลมันจะง่าย - เพียงแค่รับและให้ข้อมูล อย่างไรก็ตามเว็บแอปพลิเคชันนอกเหนือจากข้อมูลธรรมดารายงานคุกกี้และพาดหัว
แอสเซมบลีมาตรฐาน Fructum ประกอบด้วยแอปพลิเคชันสองประเภท - คอนโซลและเว็บแอปพลิเคชัน
แอปพลิเคชัน Combus คือแอปพลิเคชันที่เปิดตัวผ่านบรรทัดคำสั่งหรือ SSH และข้อมูลอินพุตเพียงอย่างเดียวของ KP คืออาร์กิวเมนต์ เว็บแอปพลิเคชันเป็นแอปพลิเคชั่นที่เปิดตัวผ่านเบราว์เซอร์และยอมรับข้อมูล Get Post, คุกกี้, พาดหัว ฯลฯ ข้อมูลที่กำหนดก็แตกต่างกันไป
ในการเปิดโครงการของคุณคุณต้องดำเนินการสองขั้นตอน: 1 เชื่อมต่อเฟรมเวิร์ก 2. เรียกใช้แอปพลิเคชัน
แอสเซมบลีมาตรฐานได้รับการปรับให้สะดวกเมื่อสร้างเว็บแอปพลิเคชัน สองขั้นตอนดังกล่าวข้างต้นของการเปิดตัวจะดำเนินการในจุดทางเข้าที่เรียกว่า SO ในกรณีของเว็บแอปพลิเคชันทางเข้าคือ index.php สคริปต์นี้ใช้ในคำขอ HTTP ทั้งหมดเชื่อมต่อเฟรมเวิร์กและเปิดใช้งานเว็บแอปพลิเคชัน
หากคุณต้องการเขียนประเภทแอปพลิเคชันของคุณเราขอแนะนำให้คุณใช้สคริปต์ของแอปพลิเคชันคอนโซลเป็นพื้นฐาน นอกจากนี้หากต้องการคุณสามารถสร้างแอปพลิเคชั่นมาตรฐานใหม่ - เขียนเราเตอร์แอปพลิเคชันเว็บใหม่หรือเขียนไว้สำหรับคอนโซล สิ่งนี้ไม่จำเป็นต้องมีความรู้เพิ่มเติมเพียงแค่ศึกษาว่าแอปพลิเคชันมาตรฐานทำงานและเขียนการขยายหรือเบ็ดได้อย่างไร
แอปพลิเคชันคอนโซลนั้นง่ายที่สุด - เราเตอร์และคอนโทรลเลอร์ไม่ได้ใช้ที่นี่เช่นเดียวกับในเว็บแอปพลิเคชัน แอปพลิเคชัน ConsoleApp มาตรฐานหลังจากเริ่มต้นกำลังมองหาคลาส Handler Console และเรียกใช้วิธีการเรียกใช้ () ในนั้น หากไม่มีคลาสดังกล่าวข้อผิดพลาดที่สำคัญจะเกิดขึ้น
คลาส fructum config มีการกำหนดค่าที่จำเป็นของเฟรมเวิร์ก ในการเปลี่ยนแปลงคุณควรสร้างตะขอของคุณเองโดยการคัดลอก /system/fructum/config.php ใน /hooks/fructum/config.php และเปลี่ยนเนื้อหาเป็นสิ่งที่คุณต้องการ แต่ละพารามิเตอร์ได้รับการบันทึกไว้
หากส่วนขยายของคุณต้องการการปรับแต่งอย่าสร้างคลาสของคุณ - เพียงติดต่อค่าคงที่ของคลาส fructum config เพิ่มข้อมูลเกี่ยวกับข้อมูลที่ควรเพิ่มลงในการกำหนดค่าในคำแนะนำสำหรับการติดตั้งการขยายตัว
ใส่ใจ! ข้อมูลในการกำหนดค่าเป็นค่าคงที่ไม่ใช่ตัวแปร ใช้การควบคุมต้นทุน
ข้อมูลรายละเอียดทั้งหมดมีให้สำหรับ Vicki: http://wiki.blockstudio.net/wiki/fructum