ধরে নিচ্ছি আপনি এই tutorials পড়ার আগে OOP এবং OOPHP এর tutorials গুলি পরে এসেছেন তা নাহলে এটা বুঝতে পারবেননা।
Codeigniter MVC Structure এর ভিত্তি করে কোড লেখার সুবিধা দেয়, এতে করে web Application তৈরী করা খুব সহজ হয়ে যায় কারন এই পদ্ধতি বিজনেস লজিক (মডেল/ডেটাবেস অংশের কোডগুলি), এপ্লিকেশন লজিক (কন্ট্রোলার অংশের কোডগুলি) এবং ভিজুয়াল লজিক (ভিউ অংশের কোডগুলি) সব আলাদা আলাদা করে রাখে।যাই হোক এখন এপ্লিকেশন তৈরীর সময়। একটা ছোট এপ্লিকেশন তৈরী করে দেখাচ্ছি। এই এপ্লিকেশনে শুধু কন্ট্রোলার এবং ভিউ এর ব্যবহার করা হবে। এখানে কোন ডেটাবেসের কাজ নেই তাই মডেল এরও কাজ নেই।
"htdocs/spfoundationbd/application/controllers" এই লোকেশনে গিয়ে একটা Hello_world.php নামের ফাইল তৈরী করুন, এই ফাইলটি কোনো এডিটরে খুলুন যেমন নোটপ্যাড++ এ খুলে একটা class তৈরী করুন এবং নিচের মত লিখুন
** CodeIgniter 3 ভার্সনে একটু বিশেষ পরিবর্তন আছে যেটা হল ফাইলের নাম বড় অক্ষরে শুরু করতে হবে যেটা CodeIgniter 2 ভার্সনে ছিলনা এবং ফাইলের নামে কন্ট্রোলারের নাম হবে। যেমন নিচে দিয়েছি
Hello_world.php ফাইল
01.<?php
02.defined('BASEPATH') OR exit('No direct script access allowed');
03.class Hello_world extends CI_Controller{
04.function index(){
05.$data['title']='My first application created with Code Igniter';
06.$data['message']='Hello world!';
07.// load 'helloworld' view
08.$this->load->view('helloworld',$data);
09.}
10.}
11.?>
(এপ্লিকেশনটি কোডইগনাইটারের ৩ ভার্সন ব্যবহার করে করা হয়েছে।)
ব্যাখ্যা:
** প্রথম লাইনটি হল নিরাপত্তার জন্য যাতে এই ফাইলটি কেউ সরাসরি একসেস করতে না পারে ব্রাউজার দিয়ে।
1.defined('BASEPATH') OR exit('No direct script access allowed');
এরপর কন্ট্রোলার অংশে দেখুন একটা নতুন ক্লাস তৈরী করা হয়েছে এটা হচ্ছে সাবক্লাস/প্রতিপাদিত ক্লাস/শিশু ক্লাস যেটা মুল ক্লাস 'CI_Controller' এর। এই 'CI_Controller' ক্লাসটি কোডইগনাইটার আগে থেকেই তৈরী করে রেখেছে এটা হচ্ছে বেস ক্লাস/প্যারেন্ট ক্লাস। এই প্যারেন্ট ক্লাস 'CI_Controller' থেকে extends keyword টি দিয়ে সাবক্লাস 'HellowWorld' বের করা হয়েছে বা বলতে পারেন প্রতিপাদন করা হয়েছে (derived).
এরপর function index() এ প্রথমত কিছু ডেটা ঢুকানো হয়েছে $data ভেরিয়েবলে (অ্যারে) এবং দ্বিতীয়ত ভিউ টেম্প্লেটে এই ডেটা ট্রান্সফার করা হয়েছে যেই টেম্পপ্লেটটার নাম 'helloworld.php'। কোডইগনাইটারের ভিউতে (MVC'র View) কন্ট্রোলার থেকে এভাবে অ্যারের মাধ্যমে ডেটা পাঠানো হয়। কোডটা লিখতে হয় এভাবে
1.$this->load->view('helloworld',$data);
এটা সংশ্লিষ্ট ভিউ ফাইলটি লোড করে এবং data গুলি এখানে pass করে দেয় ।
এখন এই কন্ট্রোলারের $data অ্যারের key তে যেকোন ডেটা থাক না কেন সেটা View তে একসেস করা যাবে। যেমন $data['title'] এখন এই "title" key টি View তে একটি ভেরিয়েবল অর্থ্যাৎ $title এভাবে call করলেই কন্ট্রোলারে এসাইন করা মানটি সেখানে পাওয়া যাবে। সুতরাং একইভাবে $data['message'] এটা $message এভাবে View ফাইলে (View ডিরেক্টরির hellowworld.php) call করতে হবে।
ভিউ ফাইলটি তৈরী করুন এভাবে
" spfoundationbd /application/views" এই গিয়ে helloworld.php নামের একটা ফাইল তৈরী করুন। ফাইলটি খুলে লিখুন
1.<html>
2.<head>
3.<title><?php echo $title;?></title>
4.</head>
5.<body>
6.<h1><?php echo $message?></h1>
7.</body>
8.</html>
এখন Address bar এ লিখুন এবং এন্টার দিন।
http://localhost/ spfoundationbd /index.php/hello_world