การสร้าง View ใน
CodeIgniter นั้นง่ายมาก เพราะจะมองว่า view นั้นก็คือ webpage ย่อยๆอันหนึ่ง โดยปกติแล้ว view จะสามารถทำเป็น view ย่อยๆได้อีก ก็คือฝังอยู่ใน view อีกอันหนึ่ง และอีกอันหนึ่งไปเรื่อยเป็นลำดับชั้นไป ตรงจุดนี้ทำให้เราแบ่งส่วนของการแสดงผลเป็นส่วนย่อยๆได้
view ใน
CodeIgniter นั้นจะถูกเรียกมาจาก
Controller อีกที จะไม่สามารถทำงานด้วยตัวเองได้โดยตรง โปรแกรมที่พัฒนามาด้วย
Framework ส่วนใหญ่จะใช้ controller ควบคุมกระบวนการต่างๆแบบนี้ทั้งหมด
ใน controller เมื่อเราต้องการจะเรียกส่วนของ view มาแสดงผล จะใช้บันทัดคำสั่งตามโค้ดด้านล่างนี้
$this->load->view('name'); // แบบไม่กำหนดข้อมูล
$data = array(
'title' => 'My Title',
'heading' => 'My Heading',
'message' => 'My Message'
);
$this->load->view('name',$data);// แบบกำหนดข้อมูล
'name' นั้นจะเป็นชื่อไฟล์ของ view ไม่จำเป็นจะต้องใส่นามสกุลก็ได้ นอกเสียจากว่าไฟล์นั้นมีนามสกุลเป็นแบบอื่น
เพราะฉะนั้นในการเรียก view ของเรา เราจะแก้ไข controller ของเราให้เป็นแบบด้านล่างนี้
<?php
class Hello extends Controller {
function index() {
$data = array('message'=>'Hello World!');
$this->load->view('helloview',$data);
}
function thaiHello($a,$b,$c) {
$data = array('message'=>'สวัสดีครับชาวโลก! '.$a.','.$b.' และ '.$c);
$this->load->view('helloview',$data);
}
function _remap($method) {
if ($method == 'thai') {
$this->thaiHello('somchai', 'sommai', 'sompong');
}else{
$this->index();
}
}
}
?>
การสร้างไฟล์ view เพื่อนำข้อมูลไปแสดงผลpการสร้าง view เริ่มแรกเลยนะครับ ให้เราสร้างไฟล์ชื่อ helloview.php กันก่อน แล้วนำไปเก็บไว้ที่ system/application/views/helloview.php
หลังจากนั้นให้เปิดไฟล์ด้วย editor ที่เรามีครับ แล้วเอาโค้ดด้านล่างนี้ใส่เข้าไป หลังจากนั้นให้กด save
<html>
<head>
<title><?php echo $message;?></title>
</head>
<body>
<h1><?php echo $message;?></h1>
</body>
</html>
หลังจากนั้นให้ลองรันโปรแกรมลองเราด้วย URL
http://localhost/code/index.php/hellohttp://localhost/code/index.php/hello/thaiและ
http://localhost/code/index.php/hello/thaihello/somchai/sommai/sompongเราจะได้ผลลัพธ์เหมือนกับใน
Workshop 1