1. Codeigniter Framework (CodeIgniter Framework Tutorial) Basic Tutorials of Codeigniter Framework
  2. কোডইগনাইটার ইনস্টল (CodeIgniter Install Tutorial in Bangla)
  3. How to create First Application in CodeIgniter
  4. কোডইগনাইটারের URL স্ট্রাকচার (structure of codeigniter)
  5. Codeigniter দিয়ে query করা এবং result দেখা (CI Query & Show Results)
  6. Database থেকে Data দেখা (CI Fetch Data from Database)
  7. Model তৈরী এবং কন্ট্রোলারে Access (Create Model & Access in Controller)
  8. Codeigniter দিয়ে ডেটাবেসে data ঢুকানো (CodeIgniter Insert Data to Database)
  9. Form দিয়ে ডেটাবেসের data সম্পাদনা (Data Edit in Database Via Form | Codeigniter Tutorials)
  10. ডেটাবেসের data delete (Data Delete in Database | Codeigniter Tutorials) | SP Foundationbd
  11. Form Validation টিউটোরিয়াল (CI Form Validation Tutorial | Codeigniter Tutorials) | SP Foundation
  12. Form validation tutorials (CI Form Validation Tutorial) - আরও উন্নত validation
  13. Codeigniter bootstrap integration এবং best প্রাকটিস | SP Foundationbd
  14. Codeigniter পেজিনেশন Tutorials (CodeIgniter Pagination Tutorial) | SP Foundationbd
  15. কোডইগনাইটার pagination tutorials (CodeIgniter Pagination Tutorial) - ২য় পদ্ধতিতে pagination
  16. Codeigniter সেশন Management (Session Management CodeIgniter) part one
  17. Codeigniter session ম্যানেজমেন্ট (Session Management CodeIgniter) - সেশন ড্রাইভার part two
  18. কোডইগনাইটার file আপলোড (CodeIgniter File Upload)
  19. কোডইগনাইটার Ajax টিউটোরিয়াল (CodeIgniter Ajax Tutorial) | SP Foundationbd
  20. কোডইগনাইটার URI রাউটিং টিউটোরিয়াল (CodeIgniter URI Routing Bangla Tutorials) | SP Foundationbd
  21. কোডইগনাইটারে একসাথে একাধিক ডেটাবেস ব্যবহার (Use Multiple Database Together in CodeIgniter)

How to create First Application in CodeIgniter

ধরে নিচ্ছি আপনি এই  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