นี่คือเฟรมเวิร์ก PHP ที่กำหนดเองสำหรับเว็บแอปพลิเคชันส่วนบุคคลมันมีจุดมุ่งหมายที่จะเรียบง่ายน้ำหนักเบาและยืดหยุ่นรหัสนี้มีวัตถุประสงค์เพื่อการเรียนรู้และไม่ได้มีวัตถุประสงค์เพื่อใช้ "เช่นเดียวกับ" ในสภาพแวดล้อมการผลิต บล็อกและการลงทะเบียนผู้ใช้อย่างง่ายถูกรวมเข้ากับเฟรมเวิร์กที่กำหนดเอง PHP นี้
เฟรมเวิร์ก PHP ที่กำหนดเองนี้ใช้ประโยชน์จากเนมสเปซไดเรกทอรี "สาธารณะ" ที่มีตัวควบคุมด้านหน้า
ดาวน์โหลด Hosting ที่ใช้ร่วมกัน: PHP-Framework v1
ดาวน์โหลด: php-framework
อัพเกรดเวอร์ชัน 2.1: ตำแหน่งโครงการ
ดาวน์โหลด v2
ข้อกำหนดเพียงอย่างเดียวคือการมีเว็บเซิร์ฟเวอร์ Apache ที่ใช้งานได้ด้วย PHP
หากใช้ IIS ตัวควบคุม/การกระทำจะไม่ทำงานเนื่องจากเฟรมเวิร์กนี้ใช้. htaccess สำหรับการเขียนใหม่ URL
http://domain/controller/action/{params}การกระทำและพารามิเตอร์เป็นทางเลือกหากไม่ได้ระบุคอนโทรลเลอร์มันจะใช้คอนโทรลเลอร์เริ่มต้นที่ระบุ
เพื่อผ่านมุมมอง
View:: renderTemplate ( $ data , " ./App/Views/blog/index.php " ) ;ไดเรกทอรีภายใต้ /มุมมองแบ่งปันชื่อเดียวกันของคลาสคอนโทรลเลอร์ตัวอย่างเช่นตัวควบคุมที่บ้านมีมุมมองที่เรียกว่า /ดู /บ้านและภายในชื่อโฟลเดอร์ที่คุณจะมีและดัชนีและ /หรือไฟล์อื่นที่จะอธิบายการกระทำ
คุณสามารถผ่านอาร์เรย์ที่มีค่าให้มากที่สุดเท่าที่คุณต้องการและยังสามารถส่งคืนวัตถุจากโมเดลได้ เช่น:
$ viewmodel = new Post_Model ();
$ data [ ' pagetitle ' ] = ' Add a New Post ' ;
$ data [ ' add ' ] = $ viewmodel -> add () ;
View:: renderTemplate ( $ data , " ../App/Views/blog/add.php " ) ;โพสต์:
+ -- -----------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+ -- -----------+--------------+------+-----+-------------------+----------------+
| id | int ( 11 ) | NO | PRI | NULL | auto_increment |
| user_id | int ( 11 ) | NO | | NULL | |
| title | varchar ( 255 ) | NO | | NULL | |
| body | text | NO | | NULL | |
| create_date | datetime | NO | | CURRENT_TIMESTAMP | |
+ -- -----------+--------------+------+-----+-------------------+----------------+ผู้ใช้:
+ -- -------------+--------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+ -- -------------+--------------+------+-----+-------------------+----------------+
| id | int ( 11 ) | NO | PRI | NULL | auto_increment |
| name | varchar ( 255 ) | NO | | NULL | |
| email | varchar ( 255 ) | NO | | NULL | |
| password | varchar ( 255 ) | NO | | NULL | |
| register_date | datetime | NO | | CURRENT_TIMESTAMP | |
+ -- -------------+--------------+------+-----+-------------------+----------------+