Output Class
Output class คือคลาสเล็กๆที่มีหน้าที่หลักเพียงอย่างเดียว คือส่งข้อมูลสุดท้ายไปยังหน้าเว็บที่บราวเซอร์ร้องขอมา และยังรับผิดชอบเรื่องการเก็บหน้าเว็บไซต์เอาไว้ในหน่วยความจำ
Note: คลาสนี้ถูกสร้างขึ้นมาอย่างอัตโนมัติจากระบบดังนั้นคุณไม่ต้องโหลดมันด้วยตนเอง
ภายใต้สภาวะปกติ คุณจะไม่สังเกตุเห็น Output class เนื่องจากมันทำงานตรงไปตรงมาโดยปราศจากการแทรกแซงจากคุณ ตัวอย่างเช่น เมื่อคุณใช้คลาส Loader ในการโหลดหน้าแสดงผล (view) มันจะถูกส่งไปยังคลาส Output class โดยอัตโนมัติ ซึ่งมันจะถูกเรียกโดย CodeIgniter ในจุดสิ้นสุดการทำงานของระบบ และเป็นไปได้ที่คุณจะแทรกผลลัพธ์ถ้าคุณต้องการโดยการใช้สองฟังก์ชันต่อไปนี้
$this->output->set_output();
ยินยอมให้คุณตั้งค่าผลลัพธ์สตริงสุดท้าย ตัวอย่างวิธีใช้
$this->output->set_output($data);
สำคัญ: ถ้าคุณตั้งค่าผลลัพธ์ด้วยตัวเอง มันจะต้องเป็นสิ่งสุดท้ายในฟังก์ชันที่คุณเรียก ตัวอย่างเช่น ถ้าคุณสร้างหน้าในฟังก์ชันหนึ่งของตัวควบคุม (controller) อย่าตั้งค่าผลลัพธ์ (output) จนกว่าจะจบฟังก์ชัน
$this->output->get_output();
ยินยอมให้คุณรับค่าผลลัพธ์ที่จะถูกส่งไปเก็บใน output class ตัวอย่างการใช้งาน
$string = $this->output->get_output();
ข้อสังเกตุ : จะรับข้อมูลจากฟังก์ชันนี้ได้ก็ต่อเมื่อมันมีข้อมูลที่ถูกส่งไปยัง output class โดยหนึ่งในฟังก์ชันของ CodeIgniter อย่างเช่น $this->load->view().
$this->output->set_header();
ยินยอมให้คุณตั้งค่าหัวเซิร์ฟเวอร์เอง (server header) ซึ่ง output class จะส่งค่าเหล่านั้นให้คุณในผลลัพธ์สุดท้ายที่จะถูกแสดง ตัวอย่างเช่น
$this->output->set_header("HTTP/1.0 200 OK");
$this->output->set_header("HTTP/1.1 200 OK");
$this->output->set_header('Last-Modified: '.gmdate('D, d M Y H:i:s', $last_update).' GMT');
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");
$this->output->set_header("Cache-Control: post-check=0, pre-check=0");
$this->output->set_header("Pragma: no-cache");
$this->output->set_status_header();
ยินยอมให้คุณตั้งค่าหัวสถานะเซิร์ฟเวอร์ (server status header) ตัวอย่างเช่น
$this->output->set_status_header('401');
// Sets the header as: Unauthorized
สำหรับหัวสถานะเซิร์ฟเวอร์ทั้งหมดดูได้ที่นี้
$this->output->enable_profiler();
ยิมยอมให้คุณ เปิด/ปิด ตัวรวมข้อมูล ซึ่งจะแสดงการผลวัดสมรรถนะและข้อมูลอื่นๆในด้านล่างสุดของหน้า เอาไว้สำหรับตรวจสอบจุดบกพร่องและเพิ่มประสิทธิภาพเป็นจุดประสงค์หลัก
ในการใช้งานตัวรวมข้อมูลให้ใส่ตรงส่วนไหนก็ได้ในฟังก์ชันตัวควบคุม
$this->output->enable_profiler(TRUE);
เมื่อเปิดแล้วรายงานจะถูกสร้างและใส่เข้าไปในใต้สุดของหน้า
ในการปิดตัวรวมข้อมูลคุณจะใช้แบบนี้
$this->output->enable_profiler(FALSE);
$this->output->cache();
ไลบรารี่ Output ตัวนี้ของ CodeIgniter ยังควบคุมการเก็บไว้ในหน่วยความจำ สำหรับข้อมูลเพิ่มเติม ดูได้ที่ เอกสารการเก็บไว้ในหน่วยความจำ