วิธีใช้งาน core ใน codeigniter เพิ่มคุณสมบัติระบบหลัก
สำหรับการพัฒนาเว็บไซต์ด้วย framework ไม่ว่าจะใช้เฟรมเวิร์คอะไรบนโลกนี้ โดยพื้นฐานแล้วก็เพื่อกำหนดมาตรฐาน
การทำงานให้ไปในทิศทางเดียวกัน เพื่อประโยชน์คือการ แก้ไข ปรับปรุง และพัฒนาต่อยอดได้โดยง่าย
codeigniter framework เป็นอีกหนึ่งเฟรมเวิร์คที่มีมาตรฐานหรือกรอบการทำงานที่ชัดเจนแต่ถึงกระนั้นผู้พัฒนา
เฟรมเวิร์คก็ออกแบบโครงสร้างให้รองรับการพัฒนาต่อยอดที่ยืดหยุ่น จะเห็นได้จากการที่เราสามารถเพิ่มความสามารถ
ของระบบได้ด้วยการใช้งาน core system ใน codeigniter
ตั้งค่า core class
ก่อนที่เราจะทำการเพิ่มคุณสมบัติใด ๆ เข้าไปใน native libraries ของ codeigniter นั้น ให้เข้าไปตั้งค่า
ใน application/config/config.php เพื่อกำหนด prefix subclass หรือคำนำหน้าของคลาสที่เราจะสร้าง
ขึ้นมา โดยค่าเริ่มต้นของ codeigniter ที่สร้างให้เราคือ “MY_” ( จะเปลี่ยนก็ได้ไม่เปลี่ยนก็ได้ )
$config['subclass_prefix'] = 'MY_';
สร้าง core class
ทดลองสร้าง core class โดยสืบทอดคุณสมบัติของ native libraries คือคลาส CI_Controller
วิธีสร้าง core class ให้สร้างไว้ใน application/core/MY_Controller.php
class MY_Controller extends CI_Controller { public function __construct() { parent::__construct(); } }
ใช้งาน core ใน Controller
ก่อนหน้านี้เราได้สร้าง core คลาสชื่อว่า MY_Controller ซึ่งสืบทอดคุณสมบัติต่าง ๆ ของ CI_Controller
เราสามารถนำ MY_Controller ไปใช้ใน Controller ใด ๆ ก็ได้ โดยเขียนโค๊ดได้ดังนี้
class Home extends MY_Controller { public function __construct() { parent::__construct(); } public function index() { $this->load->view('home_view'); } }
ใช้งาน core method ใน Controller ได้เลย
เราสามารถสร้างเมธอดหรือฟังก์ชั่นใน MY_Controller และนำมาใช้งานใน Controller ได้ทันที
application/core/MY_Controller.php
class MY_Controller extends CI_Controller { public function __construct() { parent::__construct(); } public function changeLang() { } }
ใช้งานเมธอด changeLang ใน application/controller/Home.php
class Home extends MY_Controller { public function __construct() { parent::__construct(); $this->changeLang(); } public function index() { $this->load->view('home_view'); } }