कोड इग्नायटर (Codeigniter)

पीएचपी प्रोग्रॅमिंग भाषा वापरून वेबसाईट डिझाईन करण्यासाठी आवश्यक असणार्‍या सर्व सुविधांच्या लायब्ररी व सोप्या पद्धती असणारे कोड इग्नायटर हे एक प्रभावी फ्रेमवर्क आहे.कोहाना हे फ्रेमवर्क कोड इग्नायटरचे फ्रेमवर्क वापरून विकसित केले आहे.


कोड इग्नायटरची वैशिष्ठ्ये
१. कमी मेमरी लागणारे छोटेखानी फ्रेमवर्क
२. उत्तम कार्यक्षमता
३. पीएचपीच्या वेगवेगळ्या आवृत्तीवर व होस्टींग प्लॅटफॉर्मवर चा्लू शकणारे फ्रेमवर्क
४. इन्स्टॉल करताना अगदी कमी सेटींग्ज आवश्यक
५. पीअरसारख्या मोठ्या लायब्ररीची आवश्यकता नसेल तर कोड इग्नायटर अधिक योग्य पर्याय
६. गुंतागुंतीचे प्रोग्रॅम लागत नाहीत. टेम्प्लेट(वेबसाईट मांडणी)चे कोड शिकावे लागत नाही.
७. फ्रेमवर्कविषयी सर्व तांत्रिक माहिती सहज समजण्याजोगी
कंट्रोलर
कंट्रोलर म्हणजे क्लास फाईलचे असे नाव की जे वेबपेज URI (Universal Resource Indicator) शी जोडून शोधता येईल. उदाहरणार्थ blog.php हा क्लास 
example.com/index.php/blog/ 
असा लिहिला तर कोड इग्नायटर त्याचा अर्थ blog.php असा घेतो.

खाली दिलेले Blog या क्लासचे उदाहरण पीएचपीच्या टॅगमध्ये लिहिले की blog.php हा क्लास तयार होईल.
class Blog extends CI_Controller {

public function index()
{
echo 'Hello World!';
}
}

यात CI_Controller म्हणजे कोड इग्नायटरचा मुख्य क्लास. या क्लासपासून Blog हा क्लास तयार केला आहे. क्लासच्या नावातील पहिले अक्षर नेहमी कॅपिटल असावे लागते.
कोड इग्नायटर कंट्रोलरसाठी राखीव नावे
कोड इग्नायटर कंट्रोलरमध्ये अनेक नावे व फंक्शन्स वापरली जातात. आपले सर्व क्लास त्या मुख्य कंट्रोलरपासून बनविले जाणार असल्याने आपल्या प्रोग्रॅममध्ये ती नावे क्लाससाठी वा इतरत्र वापरता येत नाहीत. 
या राखीव नावांची यादी. 

* Controller
* CI_Base
* _ci_initialize
* Default
* index

Functions


* is_really_writable()
* load_class()
* get_config()
* config_item()
* show_error()
* show_404()
* log_message()
* _exception_handler()
* get_instance()

Variables


* $config
* $mimes
* $lang

Constants

* EXT
* FCPATH
* SELF
* BASEPATH
* APPPATH
* CI_VERSION
* FILE_READ_MODE
* FILE_WRITE_MODE
* DIR_READ_MODE
* DIR_WRITE_MODE
* FOPEN_READ
* FOPEN_READ_WRITE
* FOPEN_WRITE_CREATE_DESTRUCTIVE
* FOPEN_READ_WRITE_CREATE_DESTRUCTIVE
* FOPEN_WRITE_CREATE
* FOPEN_READ_WRITE_CREATE
* FOPEN_WRITE_CREATE_STRICT
* FOPEN_READ_WRITE_CREATE_STRICT

व्ह्यू (Views)
व्ह्यू म्हणजे साधे वेबपेज किंवा वेबपेजचा एखादा भाग, उदा. हेडर किंवा बॅनर, मेनू वा तळटीप. हे व्ह्यूज पाहिजे त्याप्रकारे दुसर्‍या व्ह्यूत समाविष्ट करता येतात. व्ह्यू हे स्वतंत्रपणे कार्यान्वित करता येत नाहीत. कंट्रोलरमार्फत त्यांचे संचालन होते. येथे कंट्रोलरचे काम एखाद्या ट्रॅफिक पोलिसासारखे असते. कोणता व्ह्यू दाखवायचा व कोणता नाही ते कंट्रोलर ठरवितो.

व्ह्यू तयार करणे
blogview.php हा व्ह्यू तयार करण्यासाठी खालील प्रोग्रॅम लिहावा.
(येथे html टॅगसाठी * हे चिन्ह वापरले आहे.)
*html*
*head*
*title* ज्ञानदीप ब्लॉग*/title*
*/head*
*body*
*h1*माझ्या ज्ञानदीप ब्लॉगवर आपले स्वागत आहे!*/h1*
*/body*
*/html* 

आता ही फाईल कोड इग्नायटरच्या application/views/ या फोल्डरमध्ये सेव्ह करावी.
मागच्या धड्यातील उदाहरणात ज्याप्रमाणे blog.php फाईल कंट्रोलरच्या साहाय्याने प्रकाशित केली होती त्याप्रमाणे blogview.php फाईल खालील क्लासद्वारे प्रकाशित करता येईल. 
class Blog extends CI_Controller {

function index()
{
$this->load->view('blogview');
}
}
ब्राउजरमध्ये ती पाहण्यासाठी मागच्या उदाहरणाप्रमाणे 
example.com/index.php/blogview/
अशी लिंक वापरावी लागेल.
एका वेबपेजचे अनेक सुटे भाग एकत्र जोडून वेबपेज (class Page ) करण्यासाठी खालीलप्रमाणे प्रोग्रॅम लिहिता येतो.

class Page extends CI_Controller {

function index()
{
$data['page_title'] = 'Your title';
$this->load->view('header');
$this->load->view('menu');
$this->load->view('content', $data);
$this->load->view('footer');
}

}
वरील उदाहरणात Page नावाचा क्लास तयार करून त्यात वेबपेजचे शीर्षक, हेडर, मेनू, $data या माहितीसंचातून घेतलेला मजकूर व तळटीप हे व्ह्यू एकत्र जोडता येतात.