ถ้าจากที่คุณอธิบายข้างต้น ผมเข้าใจว่า คุณได้สร้าง Controller ชื่อ test ขึ้นมาแล้ว และ คุณก็ได้สร้าง model ชื่อ test มาด้วยเหมือนกัน หากคุณต้องการใช้ test model คุณต้องไปเรียก มากจาก controller ครับ ไม่สามารถจะไป เจาะที่ model โดยตรงได้ ซึ่งมันจะได้ประมาณนี้ครับ
test controller
class Test extends CI_Controller
{
public function __construct(){
parent::__construct();
$this->load->model("test_model");
}
public function index()
{
echo $this->test_model->getData();
}
}
V = View เป็นส่วนของการทำหน้าที่ในการแสดงผลออกทางหน้าจอ เป็นส่วนรับ event มาจากผุ้ใช้งาน
C = Controller เป็นส่วนกลางของการติดต่อระหว่าง V และ Model ซึ่งมันไม่สามารถที่จะติดต่อกันได้โดยตรง ต้องอาศัย Controller เป็นตัวเชื่อม โปรแกรมเมอร์บางคนเขาเขียนแค่ C กับ V เท่านั้นก็สามารถทำงานได้เหมือนกัน
M = Model เป็นส่วนของ Logic กระบวนการทำงาน เช่น เรียกฐานข้อมูล บันทึก เซฟ ที่ Controller ติดต่อ แต่ในกรณีนี้ Controller ก็สามารถที่จะทำได้เหมือนกัน แต่ เมื่อมีการแก้ไข ก็ต้องไปไล่ทุก Controller จึงต้องเขียน Model เพื่อจัดการส่วนนี้โดยเฉพาะ