นี่คือเฟรมเวิร์ก PHP ที่ทรงพลังพร้อมรอยเท้าขนาดเล็กที่สร้างขึ้นสำหรับนักพัฒนาที่ต้องการชุดเครื่องมือที่เรียบง่ายและสง่างามเพื่อสร้างเว็บแอปพลิเคชันที่มีคุณสมบัติครบถ้วน โปรดให้เครดิตกับ lilcasoft.info
หลักสูตรความผิดพลาดอย่างรวดเร็วเพื่อใช้เฟรมเวิร์ก: https://youtu.be/x6lnqhxg-3y
ใช้อย่างไร ???
เปิดเครื่องซิปโฟลเดอร์ LILCA_MVC_FRAMEWORK และคุณจะเห็นว่ามีโฟลเดอร์วิกฤต 4 รุ่นชื่อ รุ่น มุมมอง และ ตัวควบคุม และ เส้นทาง
ในโฟลเดอร์คอนโทรลเลอร์เรามี homecontroller ซึ่งเป็นค่าเริ่มต้นดังนั้นเมื่อใดก็ตามที่คุณเปิดแอพมันจะนำคุณไปยัง Homecontroller
ในโมเดลโฟลเดอร์เรามีไฟล์คลาส 2 ไฟล์ที่เรียกว่า mysqli_db.php และ pdo_db.php ซึ่งสร้างขึ้นในคลาสรุ่นสำหรับ PDO และ MySQLI ขึ้นอยู่กับวัตถุประสงค์ของโครงการของคุณคุณจะขยายไปถึงหนึ่งในนั้นเพื่อใช้คุณสมบัติและวิธีการของตัวเอง (โดยค่าเริ่มต้นจะใช้ PDO_DB ในคอนโทรลเลอร์/coreController.php โปรดทำการเปลี่ยนแปลงในไฟล์นี้หากคุณใช้คลาส MySQLI_DB )
ในโฟลเดอร์ Views เราได้ แชร์โฟลเดอร์ ที่มีมุมมองบางส่วนและมีรูปแบบคงที่เช่นส่วนหัวส่วนท้ายและการนำทางที่ทำงานผ่านทั้งหน้า ไฟล์ _header.php ยังมีไลบรารี jQuery และ boostrap สำหรับคุณ
ตอนนี้เพียงแค่ดูไฟล์ใน เส้นทาง/default_route.php ไฟล์นี้เป็นองค์ประกอบสำคัญในการแมป MVC ของคุณเข้าด้วยกัน
กำหนดค่า URL ฐานใหม่ในไฟล์ดัชนี
ไปที่ไฟล์ index.php และกำหนด URL พื้นฐานของโครงการของคุณ มันเป็นสิ่งสำคัญในการอ้างอิงที่เหมาะสมสำหรับลิงก์และรูปภาพใด ๆ ในภายหลัง ไวยากรณ์เพื่อรับ base_url คือ: เส้นทาง :: getBaseurl ();
กำหนดค่าไฟล์. htaccess ใหม่
ในการเรียกใช้โครงการด้วยวิธี 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 - สร้างหน้าใหม่
ไปที่โฟลเดอร์เส้นทางและเปิดไฟล์ 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::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 ในโฟลเดอร์ Views และทำรหัสต่อไปนี้เพื่อรับค่า
$get_data = YourController:: $viewBag ;
echo $get_data ; //output the result to screenYourController :: $ viewbag เป็นทรัพย์สินสาธารณะเป็นของคุณที่มีข้อมูลที่มีข้อมูลที่คุณส่งโดยตรงจากเส้นทางไปยังมุมมอง ข้อมูลการผ่านสามารถเป็นอะไรก็ได้ (อาร์เรย์, จำนวนเต็ม, สตริง ... )
9 - รับข้อมูลจาก URL ที่จัดตั้งขึ้น
ในการรับข้อมูลจาก URL เช่น: ผลิตภัณฑ์/หมวดหมู่/รายการ คุณจะใช้ เส้นทาง :: url_segment (index_of_segment_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ไชโย !!!
Lilca Dinh