الفكرة هي إنشاء إطار سهل الاستخدام للمبتدئين. سنستخدم فئة Application () لتحميل وحداتها المطلوبة مثل routes controllers models . تمثل فئة النموذج مباشرة الجدول في قاعدة البيانات.
هذا الإطار قيد التطوير . سيقدم بنية نمط MVC مع المكونات ، والتوجيه و ORM. سوف تعكس فئات النماذج مباشرة جداول DB.
في Terminal ، انتقل إلى دليل مشروعك وقم بتشغيل الكود التالي:
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 في فئة التطبيق.