Codeigniter เริ่มต้นสร้างหน้าเว็บแรกกันเถอะ


จากตัวอย่างแรก localhost/ci/ จะเรียกหน้า welcome_message หน้านี้มันมาได้อย่างไร?

ไฟล์ config/routes.php จะเป็นไฟล์เซ็ทเส้นทางการเรียกหน้าเว็บ โดย default ของ codeigniter เซ็ทมาให้เราซึ่งมีเนื้อหาดังนี้

$route['default_controller'] = "welcome";

หมายถึง default controller ที่จะเรียกคือ welcome หรือหมายถึงเรียกไฟล์ controllers/welcome.php ให้ตามไปดูที่ไฟล์นี้จะมีโค้ดดังนี้

class Welcome extends CI_Controller {
     public function index()
     {
          $this->load->view('welcome_message');
     }
}

controller และ model จะมีรูปแบบเป็น Class ซึ่งชื่อไฟล์จะเป็นตัวเล็ก และชื่อ Class จะเป็นชื่อไฟล์แต่ตัวแรกจะเป็นตัวใหญ่
function index หมายถึง default function
$this->load->view(‘welcome_message’) หมายถึง โหลดหน้าเว็บชื่อไฟล์ welcome_message หรือหมายถึงเรียกไฟล์ views/welcome_message.php
ซึ่งเนื้อโค้ดในไฟล์ welcome_message.php จะเป็นโค้ด html+php ล้วนๆ ไม่มี class

ถึงตรงนี้อาจยังไม่เข้าใจ เรามาทำความเข้าใจการเรียกหน้าเว็บผ่าน url กันก่อน
นี่เป็นรูปแบบ url โดยทั่วไปของ codeigniter
http://localhost/ci/index.php/crontroller_name/function_name/paramiter1/paramiter2/…/paramiterN

ยกตัวอย่างเช่น
http://localhost/ci/welcome หรือจะเรียกแค่ http://localhost/ci/ ในกรณี default_controller เซ็ทเป็น welcome
สังเกตถ้าเราเรียก http://localhost/ci/welcome ลำดับการทำงานจะเป็นดังนี้
1.เข้าไปที่ไฟล์ controllers/welcome.php
2.เข้าไปที่ฟังก์ชัน index เนื่องจากไม่ได้ระบุ function_name ซึ่ง index เป็น default function
3.โหลดวิว views/welcome_message.php มาแสดงในหน้าเว็บ หากเราต้องการสร้างหน้าใหม่ชื่อหน้าว่า home และจะเรียกด้วย url http://localhost/ci/welcome/home/ สังเกตุว่า function_name คือ home นั่นหมายความว่าโค้ดใน welcome จะต้องเพิ่มดังนี้

class Welcome extends CI_Controller {
    public function index()
    {
        $this->load->view('welcome_message');
    }
        public function home()
        {
                //do something
        }
}

หรือถ้าในฟังก์ชัน home ต้องมีการรับ Parameter เพื่อทำอะไรบางอย่างก็ได้เราสมมติโค้ดเป็นแบบนี้

class Welcome extends CI_Controller {
    public function index()
    {
        $this->load->view('welcome_message');
    }
        public function home($page=0,$view_select)
        {
                //do something
        }
}

หากเข้าด้วย http://localhost/ci/index.php/welcome/home/10/webboard
จะทำให้ตัวแปร $page=10 และ $view_select = “webboard” เราก็เอาค่านั้นไปทำอะไรบางอย่างได้

แต่ว่าตอนนี้ผมยังไม่ได้อธิบายถึงเรื่องการติดต่อฐานข้อมูล ซึ่งตัวอย่างดังกล่าวอาจจะเอาค่าที่ส่งมาไปเล่นกับฐานข้อมูลครับ
ตัวอย่างหน้าเราจะมาคุยกันเรื่อง การติดต่อฐานข้อมูล

Related posts:

This entry was posted in codeigniter. Bookmark the permalink.