แนวคิดคือการสร้างกรอบการใช้งานที่ใช้งานง่ายสำหรับผู้เริ่มต้น เราจะใช้คลาส Application () เพื่อโหลดโมดูลที่จำเป็นเช่น routes controllers models คลาสโมเดลแสดงถึงตารางโดยตรงในฐานข้อมูล
กรอบนี้อยู่ ระหว่างการพัฒนา จะนำเสนอสถาปัตยกรรมรูปแบบ MVC ที่มีส่วนประกอบและการกำหนดเส้นทางและ ORM คลาสโมเดลจะสะท้อนตาราง DB โดยตรง
บนเทอร์มินัลนำทางไปยังไดเรกทอรีโครงการของคุณและเรียกใช้รหัสต่อไปนี้:
composer require rforge/rforgeจากนั้นเรียกใช้คำสั่งนี้เพื่อสร้าง autoloader ใหม่
composer dump-autoload -o เมื่อคุณทำตามขั้นตอนที่จำเป็นทั้งหมดข้างต้นคุณสามารถเริ่มสร้างแอปพลิเคชันใหม่ได้ นี่คือรูปแบบตัวอย่างของ index.php ของคุณ โทรหาสาย require_once ตามที่แสดงด้านล่างเพื่อโหลดเฟรมเวิร์ก หลังจากบรรทัดนั้นเราจำเป็นต้องนำเข้าคลาสแอปพลิเคชันโดย use RforgeApplication; -
require_once __DIR__ . " /vendor/autoload.php " ;
use RForge Application ;
use RForge Settings Config ;
Config:: setConnection ([
" host " => " 127.0.0.1 " ,
" user " => " root " ,
" pass " => "" ,
" charset " => " utf8 " ,
" driver " => " mysql "
]);
$ app = new Application ( " YourProjectNameSpace " );
$ app -> setTables ( ' Models \' ); //<-- Directory path to your models
$ app -> database ( ' bld ' ); // <-- DB Name
$ app -> start (); //<-- Start loading the configurationsหมายเหตุ : คุณต้องตั้งค่าการกำหนดค่าก่อนที่จะเรียกใช้
$app->start()หรือจะใช้การกำหนดค่าเริ่มต้น
โมเดลแสดงถึงโครงสร้างฐานข้อมูลโดยตรง RFORGE ติดตามการเปลี่ยนแปลงในโมเดลของคุณและอัปเดตฐานข้อมูล เฟรมเวิร์กยังไม่รองรับการแมปฐานข้อมูลเชิงสัมพันธ์แบบจำลอง
เพื่อสร้าง model ของคุณเพียงสร้างคลาสใหม่จากนั้นกำหนด คุณสมบัติ ให้กับคลาสนั้น คุณสมบัติคลาสจะเป็นชื่อของ columns ที่สร้างขึ้นในฐานข้อมูล ในการกำหนดประเภทข้อมูลให้ใช้ไวยากรณ์ JSDOC ดังที่แสดงด้านล่าง:
class User{
/**
* @INT (10)
* @AUTO_INCREMENT
* @PRIMARY KEY
*/
public $ IDS ;
/**
* @Text
*/
public $ name ;
}
คลาสเหล่านี้ถือการใช้วิธีฐานข้อมูลและจะต้องสืบทอดโดยโมเดลของคุณ
class User extends Operations{
/**
* @INT (10)
* @AUTO_INCREMENT
* @PRIMARY KEY
*/
public $ IDS ;
/**
* @Text
*/
public $ name ;
}รุ่นบางรุ่นส่งคืนค่าไปยังรุ่นที่เรียกใช้ ในขณะที่วิธีอื่นส่งคืนค่าเป็นอาร์เรย์ของโมเดลนั้น ปัจจุบันมีเพียงสองวิธีเท่านั้นที่ได้รับการสนับสนุนและมีวิธีการเพิ่มเติมในไม่ช้า
เริ่มต้นโมเดลของคุณและใช้วิธีการด้านล่าง:
$ user = new User (); // initialize the model with operations
$ user -> findByID ( 23 ); // invoke the method
echo $ user -> name ; //output => Alexขอให้สังเกตว่าคุณได้รับค่าการสืบค้นโดยตรงในโมเดลของคุณ บางวิธี ส่งคืนอาร์เรย์ของโมเดลที่เรียกใช้วิธีการ ในขณะที่วิธีอื่นส่งคืนค่าโดยตรง ไปยังคลาสเอง
คุณต้องวางโมเดลเหล่านี้ไว้ในโฟลเดอร์แยกต่างหากและควรอยู่ที่จุดสูงสุด ในฐานะที่เป็น filecrawler จะพบคลาสอื่น ๆ ในไดเรกทอรีเหล่านี้ด้วย
setTables ในคลาสแอปพลิเคชัน