MVC atau tidak ke MVC
Hal pertama yang harus saya perhatikan adalah Tidak mungkin menulis MVC klasik di PHP . Faktanya framework PHP seperti MVC seperti CodeIgniter atau Yii mengimplementasikan semacam MVP di mana:
- tampilan pasif dan tidak mengetahui model
- penyaji (pengontrol) mengubah status model, membaca informasi dan meneruskannya untuk dilihat
Kredit untuk tereško
Pendekatan CodeIgniter
Namun, khususnya di CodeIgniter, Anda memiliki 3 langkah:
- Buat Model untuk melakukan kueri melalui database dan mengembalikan data (sebagai larik atau objek)
- Buat Pengontrol untuk memuat dan ambil hasilnya dari Model (metode Model), dan meneruskan data yang dikembalikan ke tampilan
- Buat Tampilan dan gunakan loop PHP untuk menggemakan hasilnya, buat HTML.
Berkumpul bersama
Mempertimbangkan pendekatan di atas, Anda perlu mengambil hasil dari database di Model Anda:
application/models/product.php
class Product extends CI_Model
{
public function get_product($product_id)
{
$this->db->select('*')->from('products');
$this->db->where('product_id', $product_id);
$this->db->join('versions', 'versions.product_id = products.product_id');
$query=$this->db->get();
return $query->first_row('array');
}
}
Kemudian ambil dan berikan hasilnya di dalam Controller:
application/controllers/products.php
class Products extends CI_Controller
{
public function view($product_id)
{
$this->load->model('product');
// Fetch the result from the database
$data['product'] = $this->product->get_product($product_id);
// Pass the result to the view
$this->load->view('product_view', $data);
}
}
Terakhir, gunakan data yang dikembalikan dalam tampilan, untuk membuat daftar:
application/views/product_view.php
// Use $product to display the product.
print_r($product);