প্রথম পর্বে আমরা দেখেছিলাম কিভাবে কোনইগনিটার ডাউনলোড করে লোকালহোষ্টে ইন্সটল করতে হবে। এই পর্বে আমরা দেখব কোগনিটার কিভাবে কনফিগার করতে হয়।
আমরা আগেই কিছুটা ধারনা দিয়েছি যে কোডইগনিটারে অনেক কিছুই রেডি করা আছে ক্লাশ আকারে। আমরা RAW পিএইচপিতে কোন ফাইলের ফাংশন ব্যবহার করতে চাইলে সেই পেজটি Include বা Require করতে হয়। কোডইগনিটার কনফিগার করার মূল উদ্দেশ্য এখানেই।
আমরা কোডইগনিটারের কোন ফিচার ব্যবহার করতে চাইলে সেটা অটোলোডে লোড করে নিতে হয়। এছাড়া কোডইগনিটারে একটি প্রজেক্ট চালু হলে এটি কেমন আচরণ করবে তা নির্ধারন করার জন্যও কনফিগারেশন দরকার। ডাটাবেজকে চিনিয়ে দেবার জন্য, ডাটাবেজ নেম, ইউজার নেম, পাসওয়ার্ড প্রভৃতি চিনিয়ে দেবার জন্য। এছাড়া আমরা কনফিগারেশনের সময় কোন কনফিগারেশন কেন করছি তা বিশদভাবে আলোচনা করব।
প্রথমেই একটি ভাল এডিটর দরকার। এক্ষেত্রে সবচে ভাল হয় যদি NetBeans ব্যবহার করতে পারেন। NetBeans ষ্ট্যান্ডার্ড একটি এডিটর। দ্রুত এডিটিং এর জন্য খুব সহায়ক, খুব সহজেই এরর চোখে পড়ে, এছাড়া অনেক প্রতিষ্ঠানের রিকোয়ারমেন্টও করে থাকে এটিকে। এছাড়া চাইলে Notepad++ ও ব্যবহার করতে পারেন। যেকোন একটি ভাল এডিটর নিয়ে তাহলে চলুন শুরু করি। আমরা
প্রথম টিউনে প্রজেক্টের নাম দিয়েছিলাম codeigniter_practice. আমি আশা করছি প্রজেক্টটি আপনার লোকালহোষ্টে আছে।
এখানে অনেকগুলো ফাইল দেখতে পাবেন। সবই কনফিগারেশন ফাইল। কিন্তু সবকিছুই আমাদের দরকার হবে না। এখান থেকে প্রথমে
autoload ফাইলটি খুলুন। এখানে আমাদের অনেক কিছুই কনফিগার করতে হবে। autoload নামটা দেখেই বুঝতে পারছেন। এখানে যে বিষয়গুলো কনফিগার করে দেওয়া হবে সেগুলো প্রজেক্ট চালু হওয়া মাত্র লোড হয়ে যাবে।
➡ ফাইলটি খুলে থাকলে ৫৫ নাম্বার লাইনে যান। এখানে
$autoload['libraries'] = array();
লাইনটি রিপ্লেস করুন নিচের লাইন দিয়ে:
$autoload['libraries'] = array('database', 'session', 'xmlrpc','form_validation');
কি করলাম মূলত:
এখানে দেখুন $autoload['libraries'], এর অর্থ হচ্ছে আমরা অটোলোডে কিছু লাইব্রেরী লোড করে নিচ্ছি। কোডইগনিটারে বেশ কিছু লাইব্রেরী তৈরী করা আছে। সেই লাইব্রেরীগুলোর মধ্যে আমরা database, session, xmlrpc এবং form_validation নামক চারটি লাইব্রেরী লোড করে নিচ্ছি।
কেন?
database: ডাটাবেজ নিয়ে কাজ করার জন্য। ডাটাবেজ নিয়ে কাজ করার জন্য কোডইগনিটার অনেক সুবিধাজনক ওয়ে তৈরী করে রেখেছে লাইব্রেরীতে। সেই সুবিধাগুলো পাবার জন্য আমরা ডাটাবেজ লাইব্রেরী লোড করে নিলাম।
➡ এবার ৬৭ নাম্বার লাইনে যান। এখানে,
$autoload['helper'] = array();
লাইনটি রিপ্লেস করুন নিচের লাইন দিয়ে
$autoload['helper'] = array('url', 'file');
কেন?
helper লাইব্রেরীর মতই ব্যাপার তবে এটির উদ্দেশ্য থাকে কাজকে সহজ করে তোলা। url এবং file নিয়ে সহজে কাজ করার জন্য আমরা helper দুটি লোড করে নিলাম।
➡ এবার ৮৩ নাম্বার লাইনে। এখানে
$autoload['config'] = array();
লাইনটি রিপ্লেস করুন নিচের লাইনটি দিয়ে
$autoload['config'] = array('config');
আমাদের একাধিক কনফিগারেশন ফাইল থাকতে পারে। তাদের মধ্যে যেটিকে আমরা অটোলোডে লোড করতে চাই সেটিকে এখানে উল্লেখ করতে হবে। config ফোল্ডারে গিয়ে দেখুন আমাদের কনফিগারেশন ফাইলের নাম config.php আমরা সেই ফাইলকেই এখানে লোড করেছি। তবে প্রয়োজন হলে এখানে একাধিক কনফিগারেশন ফাইলও লোড করতে পারি।
এছাড়া ৯৯ এবং ১১২ নাম্বার লাইনে দেখুন। এখানে যথাক্রমে আমরা language ফাইল এবং model ও অটোলোডে লোড করে নিতে পারি। এটার এখন আপাতত আমাদের দরকার নেই।
➡ এখানে ২৭ নাম্বার লাইনে যান
$config['base_url'] = '';
লাইনটি নিচের লাইনটি দিয়ে রিপ্লেস করুন
$config['base_url']='http://localhost/codeigniter_practice/';
এটি আমাদের Base URL. আমরা যখন কোন লিংক তৈরী করব বা ফর্মের action="" উল্লেখ করব তখন লিংকের প্রথমে থাকবে base URL তারপর Controller এর নাম তারপর Function এর নাম। এখানে কনফিগারের সময় আমরা বেস ইউআরএল হিসেবে প্রজেক্টের লোকেশন দিচ্ছি। পরে যখন লিংক তৈরী করব তখন বেস ইউআরএলটা শুধু প্রথমে প্রিন্ট করব এভাবে: <?php echo base_url();?>
তাহলেই কন্ট্রোলারের আগে বেস ইউআরএলটি বা প্রজেক্ট লোকেশনটি প্রিন্ট হয়ে যাবে।
➡ ২৯ নাম্বার লাইনে যান
এখানে
$config['index_page'] = 'index.php';
লাইনটিতে index.php মুছে ফেলুন। index.php মূলত ইউআরএল এর মাঝখানে প্রিন্ট হয়।
➡ ৬০ নাম্বার লাইনে যান
এখানে
$config['url_suffix'] = '';
লাইনটি রিপ্লেস করুন নিচের লাইন দিয়ে
$config['url_suffix'] = '.php';
URL Suffix হল URL এর শেষে থাকে। যেমন: http://profile.hanabookbd.com/mycont/creations.html
এখানে .html হল URL Suffix। আমরা এখানে অন্য কিছু যেমন: .php, .asp বা অন্য যে কোন কিছু দিতে পারি।
➡ ২২৭ নাম্বার লাইনে
$config['encryption_key'] = '';
লাইনটি নিচের লাইন দিয়ে রিপ্লেস করুন
$config['encryption_key'] = 'bgr';
এখানে bgr এর জায়গায় অন্য যে কোন কিছু ব্যবহার করতে পারেন নিজের ইচ্ছামত। পরবর্তীতে যখন কোডইগনিটারের এনক্রিপশন লাইব্রেরী ব্যবহার করে কোন String কে এনক্রিপ্ট করবেন তখন এই Key অনুসারেই সেটি এনক্রিপ্ট হবে। এবং আপনার এনক্রিপশন কী জানা না থাকলে অন্য কেউ সেটি ডিক্রিপ্ট করতে পারবে না।
➡ প্রথমেই phpmyadmin এ গিয়ে একটি ডাটাবেজ তৈরী করে আসুন। আপাতত টেবিল তৈরী করতে হবে না। ডাটাবেজ তৈরী করা শেষ হলে database.php ফাইলটি খুলুন।
৫৪ নাম্বার লাইনে
$db['default']['database'] = '';
লাইনটি রিপ্লেস করুন
$db['default']['database'] = 'db_codeigniter_practice';
এখানে db_codeigniter_practice হল আপনার ডাটাবেজ এর নাম।
➡ ৫২ নাম্বার লাইনে
$db['default']['username'] = '';
এখানে আগের মত আপনার ডাটাবেজ এর username টি লিখুন। Commonly username হিসেবে সাধারনত root ই থাকে। তবে root লিখার আগে নিশ্চিত হয়ে নিন আপনার ডাটাবেজে root ইউজারটির সব প্রিভিলিজ আছে।
এবং
➡ ৫৩ নাম্বার লাইনে
$db['default']['password'] = '';
যদি root ইউজারের কোন পাসওয়ার্ড দেয়া থাকে তাহলে সেটি এখানে লিখুন। না থাকলে এটি ফাকা রাখুন।
ব্যস! আমাদের কনফিগারেশন শেষ। আর একটা মাত্র কাজ বাকী।
নোটপ্যাড খুলুন এবং নিচের কোডগুলো লিখুন:
<IfModule mod_rewrite.c> RewriteEngine on RewriteBase /codeigniter_practice/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule>
এবার ফাইলটিকে .htaccess হিসেবে সেভ করুন।
filename এর জায়গায় কোন নাম দিবেন না, জাস্ট .htaccess লিখুন। Save as type: এ All Files নির্বাচন করে রাখুন। ফাইলটি সেভ করে আপনার প্রজেক্টের রুটে কপি করুন।
আমাদের যাবতীয় কনফিগারেশন শেষ। এবার প্রজেক্ট রান করুন। কেউ কোন সমস্যায় পড়লে কমেন্টে জানান।
আমি নাজমুল হাসান নিরো। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 10 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 6 টি টিউন ও 64 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
ভাই এতদিন পরে মনে পড়ল। সেই ডাউনলোড করে বসে ছিলাম। ইন্সটল করতে পারছিলাম না। পরের পর্ব গুলো নিশ্চয়ই তারাতারি পাব। এপর্বের জন্য ধন্যবাদ।