هذا هو إطار PHP قوي مع بصمة صغيرة جدًا ، تم تصميمها للمطورين الذين يحتاجون إلى مجموعة أدوات بسيطة وأنيقة لإنشاء تطبيقات ويب كاملة الميزة. يرجى الائتمان إلى lilcasoft.info
دورة تحطم سريعة للحصول على الإطار: https://youtu.be/x6lnqhxg-3y
كيف تستخدم ؟؟؟
قم بفك ضغط مجلد LILCA_MVC_FRAMEWORK وسترى أن هناك 4 مجلدات حرجة تدعى النماذج ومراقبة وحدات التحكم والطرق
في مجلد وحدات التحكم ، لدينا HomeController وهو افتراضي ، لذلك كلما قمت بفتح التطبيق ، فإنه سيوجهك إلى HomeController.
في مجلد النماذج ، لدينا ملفان فئة يسمى mysqli_db.php و pdo_db.php اللذين تم إنشاؤهما في فئات نموذجية لـ PDO و mysqli. تعتمد على الغرض من مشروعك ، سوف يمتد إلى أحدهم لاستخدام خصائصه وطرقه الخاصة. (افتراضيًا ، سوف يستخدم PDO_DB في وحدات التحكم/corecontroller.php ، يرجى إجراء تغيير في هذا الملف إذا كنت تستخدم فئة mysqli_db )
في مجلد العرض ، قمنا بمشاركة مجلد حيث يحتوي على طرق عرض جزئية ولديه تخطيط ثابت مثل الرأس والتذييل والتنقل عبر الصفحة بأكملها. تضمن ملف _header.php أيضًا مكتبة JQuery و Boostrap لك.
الآن ، مجرد إلقاء نظرة على الملف في Routes/Default_Route.php . يعد هذا الملف مكونًا حاسمًا لتحديد MVC معًا.
إعادة تكوين عنوان URL الأساسي في ملف الفهرس
انتقل إلى ملف index.php وتحديد عنوان URL الأساسي لمشروعك. من الأهمية بمكان الإشارة المناسبة لأي رابط وصور لاحقًا. بناء الجملة للحصول على base_url هو: Routes :: getBaseurl () ؛
إعادة تكوين
من أجل تشغيل المشروع بطريقة MVC ، يجب عليك إجراء تغيير في هذا الملف. في rewriteBase ، فقط أعد تحديد قاعدة مجلد التطبيق. في الافتراضي سيكون /lilca_mvc_dev /
< IfModule mod_rewrite.c >
RewriteEngine On
RewriteBase /lilca_mvc_dev/
RewriteCond %{REQUEST_FILENAME} ! -d
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteCond %{REQUEST_FILENAME} ! -l
RewriteRule ^(. * )$ index.php/ $1 [QSA,L]
< /IfModule >
< IfModule ! mod_rewrite.c >
# If we don't have mod_rewrite installed, all 404's
# can be sent to index.php, and everything works as normal.
ErrorDocument 404 /index.php
< /IfModule >1 - إنشاء وحدة تحكم جديدة
قم بإنشاء ملف جديد في مجلد وحدات التحكم وتسمية وحدة التحكم الخاصة بك مع وحدة التحكم كاحقة. افتح وحدة التحكم الخاصة بك وقم برمز الفتح التالي:
class YourController extends CoreController { //Extend CoreController to use built in function
public static function index() {
return " This is index page " ;
}
}2 - إنشاء عرض جديد
قم بإنشاء ملف جديد في مجلد Views (أي: test.php) وابدأ بناء جملة HTML و CSS هنا.
3 - إنشاء نموذج جديد
قم بإنشاء ملف جديد في مجلد النماذج وقم برمز الفتح التالي:
class YourModel extends DB {
public static function addRow(){
//Code your logic here
}
public static function updateRow(){
//Code your logic here
}
public static function deleteRow(){
//Code your logic here
}
public static function displayRow(){
//Code your logic here
return " This is display row function " ;
}
}4 - تمرير البيانات من وحدة التحكم لعرض
في ملف وحدة التحكم الخاصة بك ، أضف ParateMeter إلى وظيفة الفهرس () حتى يتمكن من إرجاع القيمة إلى العرض. فقط ضع في اعتبارك ، هذا سيؤدي إلى صدى القيمة دون وضعها في عرض تم إنشاؤه الفعلي.
class YourController extends CoreController {
public static function index($val) {
return " You enter: " . $val ;
}
}5 - إنشاء صفحة جديدة
انتقل إلى مجلد Routes وفتح ملف Default_Route.php أو قم بإنشاء رمز جديد وأضف الرمز التالي:
Routes::addPage( " your_page_name " , function () { //put in your desire page name in first parameter
echo YourController::index( " Hello world " ) ;
});6 - إرفاق طرق عرض جزئية بصفحة جديدة
يعامل الطريق جميع الملفات بترتيب المكدس مما يعني أن كل ما تضعه أولاً سيتم تنفيذه أولاً. إلقاء نظرة على هذا المثال:
Routes::addPage( " your_page_name " , function () {
HomeController::addView( " Shared/_header " ) ;
HomeController::addView( " Shared/_navigation " ) ;
HomeController::addView( " content " ) ;
HomeController::addView( " Shared/_footer " ) ;
});سيتم تشغيل الصفحة ملف الرأس والملاحة والمحتوى والتذييل بالترتيب على التوالي. إذا كنت لا ترغب في إرفاق التنقل بعرض المنزل ، فما عليك سوى إزالته من الطريق.
7 - تمرير البيانات من الطريق إلى العرض في Route.php
Routes::addPage( " test_page " , function () {
$fooArr = [1,2,3,4,5] ;
HomeController::addView( " Shared/_header " ) ;
HomeController::addView( " Shared/_navigation " ) ;
HomeController::addView( " content " , $fooArr ) ;
HomeController::addView( " Shared/_footer " ) ;
});8 - احصل على نتيجة من طراز إلى وحدة تحكم وتمرير للعرض
إضافة وظيفة تسمى showdata () إلى ملف ملفك وملف طراز التحميل الذي تريد استخدامه باستخدام Self :: LoadModel ("yourmodel")
class YourController extends CoreController {
public static function index($val) {
return " You enter: " . $val ;
}
public static showData () {
self::loadModel( " YourModel " ) ; //you need to load your model class name before you can use function in that particular model.
$data = YourModel::displayRow (); // assign result from model to variable called $data
return $data ;
}
}افتح ملف route.php في مجلد Routes وافعل ذلك:
Routes::addPage( " test " , function () {
$result = YourController::showData ();
HomeController::addView( " Shared/_header " ) ;
HomeController::addView( " Shared/_navigation " ) ;
HomeController::addView( " content " , $result ) ; //pass data to view content.php
HomeController::addView( " Shared/_footer " ) ;
});افتح ملف content.php في مجلد طرق العرض وقم بالتعويض عن الكود التالي للحصول على القيمة.
$get_data = YourController:: $viewBag ;
echo $get_data ; //output the result to screenYourController :: $ viewbag هي الخاصية العامة تنتمي إلى Concontroller التي تحتوي على بيانات تمررها مباشرة من المسار إلى العرض. يمكن أن يكون تمرير البيانات أي شيء (صفيف ، عدد صحيح ، سلسلة ...)
9 - احصل على بيانات من عنوان URL المصنف
للحصول على بيانات من عنوان URL مثل: المنتج/الفئة/العنصر ، ستستخدم المسارات :: url_segress (index_of_segress_in_url) للحصول على هذه القيمة في عنوان URL المنسق.
في الأساس ، سوف يستبعد عنوان URL اسم مجلد المشروع ويحسب فقط من اسم الصفحة إلى النهاية. على سبيل المثال ، سيكون المنتج هو اسم الصفحة وقطاع الفهرس هو 1 ، وسيكون للفئة فهرس فهرس من 2 وسيحتوي العنصر على فهرس من 3 وما إلى ذلك. خلاف ذلك ، يمكنك استخدام سلسلة الاستعلام بدلاً من استخدام عنوان URL المقرر.
10 - كيفية استخدام مكتبة التحقق من الصحة للتحقق من صحة حقل النموذج
قم بتضمين مكتبة التحقق من الصحة إلى ملفك باستخدام:
require_once " validation.php " ;لاختبار تنسيق الإدخال باستخدام هذه الوظيفة:
Validation::testFormat( $test_value , $name_of_format ) ;ستعود هذه الوظيفة بشكل صحيح إذا كانت المباراة ، وإلا كاذبة
قائمة تنسيق الاختبار: التاريخ ، البريد الإلكتروني ، الرمز البريدي ، الاسم ، الهاتف ، العملة ، عنوان URL ، اسم المستخدم ، كلمة المرور
حتى الآن أنت تعرف كيفية تحويل مشروعك إلى MVC. لتلخيص ، هناك 4 خطوات رئيسية لإنشاء بنية MVC لتطبيقك.
1. Create a model in Models folder
2. Create a controller in Controllers folder
3. Create a view for controller in Views folder
4. Create a route to connect your MVC in Routes folderهتافات!!!
ليلكا دينه