Utangulizi wa mvc na umuhimu wake
Katika somo hili, tutajifunza: Maana ya MVC (Model-View-Controller) Kila kipengele (Model, View, Controller) kinachofanya Faida za kutumia MVC Tatizo la PHP ya kawaida bila MVC
Utangulizi wa mvc na umuhimu wake
Utangulizi
Wanafunzi wengi wanapoanza kujifunza PHP, huanza na code zote kuandikwa kwenye faili moja, mfano:
<?php
$conn = new mysqli("localhost","root","","appmvc");
$result = $conn->query("SELECT * FROM students");
echo "<table>";
while($row = $result->fetch_assoc()){
echo "<tr><td>".$row['name']."</td><td>".$row['email']."</td></tr>";
}
echo "</table>";
?>
Hapa:
-
HTML + SQL + logic yote iko kwenye faili moja
-
Inakuwa ngumu kudumisha, kuongeza features, au kufanya debugging
-
Wakati project inakua kubwa, hii inakuwa spaghetti code
MVC ni nini?
MVC ni architecture pattern ya kupanga code kwa njia ya separation of concerns.
1️⃣ Model
-
Inashughulikia data na database
-
Inajua jinsi ya ku-save, retrieve, update, delete data
-
Haitakiwi kuonesha HTML au UI
Mfano wa model (PHP):
class Student {
private $db;
public function __construct($db) { $this->db = $db; }
public function getAll() {
return $this->db->query("SELECT * FROM students");
}
}
2️⃣ View
-
Inashughulikia UI (HTML, CSS)
-
Inapokea data kutoka model kupitia controller
-
Haijui logic au database query
Mfano wa view (HTML + PHP):
<table>
<?php foreach($students as $student): ?>
<tr>
<td><?= $student['name'] ?></td>
<td><?= $student['email'] ?></td>
</tr>
<?php endforeach; ?>
</table>
3️⃣ Controller
-
Ndiyo mwingiliano kati ya Model na View
-
Inachukua request ya user, inapata data kutoka Model, na kupeleka View
Mfano wa controller:
class StudentController {
private $model;
public function __construct($model) { $this->model = $model; }
public function index() {
$students = $this->model->getAll();
include "views/students/index.php";
}
}
Faida za kutumia MVC
-
Code inakuwa readable – kila kitu kiko sehemu yake
-
Easy maintenance – unaweza kubadilisha UI bila kuathiri logic
-
Teamwork – developer mmoja anaweza kufanya UI, mwingine logic, mwingine database
-
Scalable – project kubwa inabaki organized
-
Reusable components – Models na Controllers zinaweza kutumika sehemu tofauti
Hitimisho
-
MVC ni way ya kupanga code si tu coding style
-
Kila component ina role yake maalum:
-
Model → data/database
-
View → UI
-
Controller → logic + flow
-
-
MVC inatofautisha code nzuri na “spaghetti code”
-
Inasaidia maintenance, scalability, readability, teamwork
Umeionaje Makala hii.. ?
Share On:
👉1 Sira ya Mtume Muhammad (s.a.w) 👉2 Kitau cha Fiqh 👉3 ai web app 👉4 Simulizi za Hadithi Audio 👉5 Tafasiri ya Riyadh Swalihina 👉6 web hosting
Post zinazofanana:
Vigezo vya kuzingatia unapotaka kununua kompyuta kwa ajili ya programming
hapa ninakuletea vitu vya kuangalia unapotaka kununua kompyuta kwa ajili ya kufanyia programming. Ama kutengeneza software mbalimbali.
Soma Zaidi...Utofauti wa deep web, dark web na surface web
Umeshawahi kujiuliza Nini hasa tofauti kati ya deep web, surface web na dark web.
Soma Zaidi...Njia ya haraka ku download video za Youtube
Katika post hii utakwenda kujifunza hatuwa kwa hatuwa za ku download video za Youtube kwa haraka.
Soma Zaidi...PHP - somo la 28: Maana ya constant kwenye php na kazi zake
Katika somo hili utajifunza kuhusu maana ya constanta pamoja na matumizi yake. Pia utazijuwa sheria za uandishi wa constant
Soma Zaidi...Meme ni nini
Watu wangi wnekuwa wakitumia meme, ila bila ya kujuwa nini hasa hizo meme. Na hasa Zina matumizi gani
Soma Zaidi...