ZenTaoPHP เป็นเฟรมเวิร์กการพัฒนา MVC ที่มีน้ำหนักเบา มีประสิทธิภาพ เป็นมิตร และหลวม ได้รับอนุญาตภายใต้ข้อตกลง LGPL ฟังก์ชั่นหลักของกรอบงาน ZenTaoPHP มีดังนี้:
1. โหมดรายการเดียว
ทางเข้าเดี่ยวเป็นวิธีการพัฒนาที่ได้รับความนิยมในปัจจุบัน ข้อดีคือคุณสามารถควบคุมแบบรวมศูนย์ได้ หรือบางทีสิ่งพื้นฐานที่ค่อนข้างเกี่ยวกับกรอบงานก็คือทางเข้าเดียว ตอนนี้เฟรมเวิร์ก ZenTaoPHP รองรับไฟล์รายการสองไฟล์ในโหมดเว็บและโหมดบรรทัดคำสั่ง สำหรับตัวอย่างที่เฉพาะเจาะจง คุณสามารถดูทั้งสองไฟล์ demo/www/index.php และ cli/call ใต้ไดเรกทอรีของแอป
2. เอ็มวีซี
ZenTaoPHP รองรับการพัฒนา MVC อย่างไรก็ตาม เมื่อเปรียบเทียบกับการใช้เทมเพลตต่างๆ ในเฟรมเวิร์กอื่นๆ ZenTaoPHP ไม่ได้พยายามพัฒนาระบบเทมเพลตใหม่ แต่ใช้ PHP เป็นภาษาเทมเพลต นี่เป็นวิธีแก้ปัญหาที่เร็วที่สุดและง่ายที่สุด
3. รองรับวิธีการโทร PATH_INFO และ GET
รองรับการโทร /user/info/id/123.html และยังรองรับการโทร index.php?m=user&f=info&id=123 หากคุณสามารถควบคุมสภาพแวดล้อมการทำงานของคุณได้ คุณสามารถใช้ PATH_INFO ได้
4. รองรับฟังก์ชั่นหลายภาษา
ZT รองรับฟังก์ชันหลายภาษาและจะกำหนดภาษาที่จะใช้โดยอัตโนมัติตามข้อมูลไคลเอนต์ผู้ใช้ปัจจุบัน
5. รองรับสไตล์และฟังก์ชั่นที่หลากหลาย
6. เครื่องสร้างรหัสอัตโนมัติ
ในแอปพลิเคชัน cli ฟังก์ชันตัวสร้างโค้ดพื้นฐานจะถูกนำมาใช้ ซึ่งสามารถเริ่มต้นโครงสร้างไดเร็กทอรีของแอปพลิเคชัน และสร้างโมดูลตามตารางได้
7. รองรับแอพพลิเคชั่นหลายตัว
สามารถสร้างแอปพลิเคชันที่แตกต่างกันได้ภายใต้ไดเรกทอรีของแอป และแต่ละแอปพลิเคชันสามารถมีโมดูล การกำหนดค่า และไฟล์รายการของตัวเองได้
8. รองรับ PDO
การห่อหุ้มฐานข้อมูลใช้ PDO ในความเป็นจริง PDO ได้รับการห่อหุ้มอย่างดีแล้ว ดังนั้น ZT จึงไม่ทำการห่อหุ้มอีกชั้นหนึ่ง และเพียงใช้วิธีการดั้งเดิมของ PDO
9. การกำหนดค่าและภาษาสามารถอ้างอิงผ่านออบเจ็กต์ได้
ไฟล์การกำหนดค่าและไฟล์ภาษาได้รับการกำหนดค่าผ่านอาร์เรย์ หลังจากโหลดโดยเฟรมเวิร์ก ZT แล้ว ไฟล์เหล่านั้นจะถูกแปลงเป็นอ็อบเจ็กต์ ดังนั้นจึงสามารถอ้างอิงได้ในเทมเพลตดังนี้: $config->xxx, $lang->aaa ปัจจุบันสนับสนุนสองมิติ เช่น $lang->user->id
10. สิ่งที่คุณเห็นคือ API
ภายใต้แนวโน้มปัจจุบันของแพลตฟอร์มแบบเปิด การมีกลไก API ที่ดีมากมีความสำคัญมากกว่า ใน ZT ทุกอินเทอร์เฟซสามารถกลายเป็น API ได้ สำหรับ API นั้น จะแยกความแตกต่างตามชื่อส่วนขยายที่เข้าถึง ตัวอย่างเช่น หากคุณไปที่ user/read/id/123.html หน้าเว็บปกติจะถูกส่งคืน หากการเข้าถึงเป็น user/read/id/123.json ข้อมูลในรูปแบบ json จะถูกส่งคืน โดยพื้นฐานแล้ว คุณไม่จำเป็นต้องเปลี่ยนวิธีการของคุณ เพียงเพิ่มไฟล์เทมเพลต json เท่านั้น
11. รองรับการโทรระหว่างโมดูล
โมดูลหนึ่งสามารถเรียกไฟล์โมเดลของโมดูลอื่น จากนั้นรวมตรรกะทางธุรกิจต่างๆ เพื่อทำหน้าที่ของตัวเองให้สมบูรณ์
ขยาย