কোডইগনিটার – CodeIgniter চেইন টিউন [পর্ব-০৩] :: কোডইগনিটার (CodeIgniter) কনফিগারেশন

প্রথম পর্বে আমরা দেখেছিলাম কিভাবে কোনইগনিটার ডাউনলোড করে লোকালহোষ্টে ইন্সটল করতে হবে। এই পর্বে আমরা দেখব কোগনিটার কিভাবে কনফিগার করতে হয়।

কনফিগারেশন কেন?

আমরা আগেই কিছুটা ধারনা দিয়েছি যে কোডইগনিটারে অনেক কিছুই রেডি করা আছে ক্লাশ আকারে। আমরা RAW পিএইচপিতে কোন ফাইলের ফাংশন ব্যবহার করতে চাইলে সেই পেজটি Include বা Require করতে হয়। কোডইগনিটার কনফিগার করার মূল উদ্দেশ্য এখানেই।

আমরা কোডইগনিটারের কোন ফিচার ব্যবহার করতে চাইলে সেটা অটোলোডে লোড করে নিতে হয়। এছাড়া কোডইগনিটারে একটি প্রজেক্ট চালু হলে এটি কেমন আচরণ করবে তা নির্ধারন করার জন্যও কনফিগারেশন দরকার। ডাটাবেজকে চিনিয়ে দেবার জন্য, ডাটাবেজ নেম, ইউজার নেম, পাসওয়ার্ড প্রভৃতি চিনিয়ে দেবার জন্য। এছাড়া আমরা কনফিগারেশনের সময় কোন কনফিগারেশন কেন করছি তা বিশদভাবে আলোচনা করব।

চলুন শুরু করি:

প্রথমেই একটি ভাল এডিটর দরকার। এক্ষেত্রে সবচে ভাল হয় যদি NetBeans ব্যবহার করতে পারেন। NetBeans ষ্ট্যান্ডার্ড একটি এডিটর। দ্রুত এডিটিং এর জন্য খুব সহায়ক, খুব সহজেই এরর চোখে পড়ে, এছাড়া অনেক প্রতিষ্ঠানের রিকোয়ারমেন্টও করে থাকে এটিকে। এছাড়া চাইলে Notepad++ ও ব্যবহার করতে পারেন। যেকোন একটি ভাল এডিটর নিয়ে তাহলে চলুন শুরু করি। আমরা

প্রথম টিউনে প্রজেক্টের নাম দিয়েছিলাম codeigniter_practice. আমি আশা করছি প্রজেক্টটি আপনার লোকালহোষ্টে আছে।

  • তাহলে লোকালহোষ্ট থেকে codeigniter_practice প্রজেক্টটি খুলুন।
  • application ফোল্ডারটি খুলুন।
  • config ফোল্ডারটি খুলুন।

এখানে অনেকগুলো ফাইল দেখতে পাবেন। সবই কনফিগারেশন ফাইল। কিন্তু সবকিছুই আমাদের দরকার হবে না। এখান থেকে প্রথমে

autoload.php ফাইল কনফিগারেশন:

autoload ফাইলটি খুলুন। এখানে আমাদের অনেক কিছুই কনফিগার করতে হবে। autoload নামটা দেখেই বুঝতে পারছেন। এখানে যে বিষয়গুলো কনফিগার করে দেওয়া হবে সেগুলো প্রজেক্ট চালু হওয়া মাত্র লোড হয়ে যাবে।

➡ ফাইলটি খুলে থাকলে ৫৫ নাম্বার লাইনে যান। এখানে

$autoload['libraries'] = array();

লাইনটি রিপ্লেস করুন নিচের লাইন দিয়ে:

$autoload['libraries'] = array('database', 'session', 'xmlrpc','form_validation');

কি করলাম মূলত:

এখানে দেখুন ‍$autoload['libraries'], এর অর্থ হচ্ছে আমরা অটোলোডে কিছু লাইব্রেরী লোড করে নিচ্ছি। কোডইগনিটারে বেশ কিছু লাইব্রেরী তৈরী করা আছে। সেই লাইব্রেরীগুলোর মধ্যে আমরা database, session, xmlrpc এবং form_validation নামক চারটি লাইব্রেরী লোড করে নিচ্ছি।

কেন?

database: ডাটাবেজ নিয়ে কাজ করার জন্য। ডাটাবেজ নিয়ে কাজ করার জন্য কোডইগনিটার অনেক সুবিধাজনক ওয়ে তৈরী করে রেখেছে লাইব্রেরীতে। সেই সুবিধাগুলো পাবার জন্য আমরা ডাটাবেজ লাইব্রেরী লোড করে নিলাম।

  • session: সেশন নিয়ে কাজ করার জন্য।
  • xmlrpc: এক্সএমএল নিয়ে কাজ করার জন্য।
  • form_validation: ইনপুট ফর্মকে ভ্যালিডেট করার জন্য।

➡ এবার ৬৭ নাম্বার লাইনে যান। এখানে,

$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.php ফাইল কনফিগারেশন:

➡ এখানে ২৭ নাম্বার লাইনে যান

$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 অনুসারেই সেটি এনক্রিপ্ট হবে। এবং আপনার এনক্রিপশন কী জানা না থাকলে অন্য কেউ সেটি ডিক্রিপ্ট করতে পারবে না।

database.php ফাইল কনফিগারেশন:

➡ প্রথমেই 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 ইউজারের কোন পাসওয়ার্ড দেয়া থাকে তাহলে সেটি এখানে লিখুন। না থাকলে এটি ফাকা রাখুন।

ব্যস! আমাদের কনফিগারেশন শেষ। আর একটা মাত্র কাজ বাকী।

একটি .htaccess ফাইল তৈরী করতে হবে।

নোটপ্যাড খুলুন এবং নিচের কোডগুলো লিখুন:

<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 নির্বাচন করে রাখুন। ফাইলটি সেভ করে আপনার প্রজেক্টের রুটে কপি করুন।

আমাদের যাবতীয় কনফিগারেশন শেষ। এবার প্রজেক্ট রান করুন। কেউ কোন সমস্যায় পড়লে কমেন্টে জানান।

Level 0

আমি নাজমুল হাসান নিরো। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 3 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 6 টি টিউন ও 64 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

ভাই এতদিন পরে মনে পড়ল। সেই ডাউনলোড করে বসে ছিলাম। ইন্সটল করতে পারছিলাম না। পরের পর্ব গুলো নিশ্চয়ই তারাতারি পাব। এপর্বের জন্য ধন্যবাদ।

প্রিয় টিউনার,

আপনার টিউন গুলো খুবই ভাল হচ্ছে।

➡ তবে আপনি আপনার টিউনে প্রয়োজনীয় ছবি ও স্ক্রীনসট ব্যবহার করুন।

ছবি ও স্ক্রীনসট আপনার টিউনের মানকে ও টিউডার (টিউন রিডার) কে আকৃষ্ট করার মান আরও বাড়িয়ে তুলবে। কীভাবে টিউনে ছবি ও স্ক্রীনসট যোগ করবেন তা দেখার জন্য টেকটিউনসের ‘টিউন করা শিখে নিন’ ভিডিও টিউট গুলো https://www.youtube.com/iTechtunes দেখুন।

➡ আপনার টিউন আর সুন্দর করে ফরমেট করুন।

বিভিন্ন পয়েন্ট গুলো বুলেট আকারে দিন।
টিউনের প্রধান টপিত গুলো H2 করে দিন।
সাব হেডিং গুলো H3 করুন।
টিউনের কোন অংশে কখনও H1 হেডিং ব্যবহার করবেন না।
নিজের সাইট বা কোন লিংক টিউডারের কাছে আকৃষ্ট করার জন্য কখনও কোন লিংকে হেডিং (h1,h2,h3) বা বড় টেক্সট করে দিবেন না। এতে আপনার টিউনের টিউডার ও টিউজিটরা আপনার প্রতি পূর্ণ আস্থা ও বিশ্বাস স্থাপন করবে।
টিউনে কখনও বিভিন্ন টেক্সট ভিন্ন ভিন্ন কালার ব্যবহার করবেন না এতে টিউডার টিউনে পড়তে বিরক্তি বোধ করবে।

কীভাবে সুন্দর করে টিউন ফরমেট করবেন তা জানতে টেকটিউনসের টিউন করা শিখে নিন ভিডিও টিউট গুলো https://www.youtube.com/iTechtunes দেখুন।

➡ নিচে কিছু দারুন ও সুন্দর ভাবে ফরমেট করা টিউনের উদহরণ দেয়া হল। লক্ষ করুন

টিউন গুলোতে কিভাবে প্রাসঙ্গিক ছবি => https://www.techtunes.io/freelancing/tune-id/141620
প্রয়োজনীয় স্ক্রিনসটের ব্যবহার => https://www.techtunes.io/tips-and-tricks/tune-id/102544
ঠিক ভাবে হেডিং ও সাব হেডিং এর ব্যবহার => https://www.techtunes.io/reports/tune-id/111219
বিভিন্ন পয়েন্ট গুলোকে বুলেট পয়েন্ট করে দেখানো => https://www.techtunes.io/reports/tune-id/111219
টিউনের মাঝে নির্দিষ্ট প্যারা তৈরি করা => https://www.techtunes.io/tips-and-tricks/tune-id/129685
টিউনে স্ক্রিনসট সহ টিউটোরিয়ালের বিভিন্ন ধাপ দেখানো => https://www.techtunes.io/featured/tune-id/95448
টিউনে কোড থাকলে তা কোড হাইলাইটারের মাধ্যমে উপস্থাপন => https://www.techtunes.io/web-design/tune-id/77692/

ইত্যাদি করে সুন্দর ভাবে উপস্থাপন করা হয়েছে।

এই টিউনের ফরমেট গুলোকে আদর্শ হিসেবে নিয়ে সবসময় আপনার টিউন গুলোকে সুন্দর ফরমেটে উপস্থাপন করুন। এতে আপনার টিউনের পাঠযোগ্যতা টিউডার ও টিউজিটরের কাছে বহুগুণে বৃদ্ধি পাবে।

➡ আপনার টিউন যেহেতু প্রোগ্রামিং সংক্রান্ত টিউন ও টিউনে কোডের ব্যবহার রয়েছে তাই বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজের কোড যেমন HTML, CSS, JS, PHP ইত্যাদি কোড সুন্দর ও সঠিক ভাবে দেখাতে টেকটিউনসের রয়েছে নিজেস্ব “কোড হাইলাইটার”। টেকটিউনসের “কোড হাইলাইটার” কিভাবে ব্যবহার করতে হয় তা জানতে এই টিউনটি https://www.techtunes.io/web-design/tune-id/77692/ দেখুন।

➡ টিউন করার আগে কিছু সময় নিয়ে পরিকল্পনা করুন।

➡ টিউডার ও টিউজিটররা বিস্তারিত, যত্ন নিয়ে, প্রয়োজনীয় ছবি যোগ করা ও সাবলীল ভাষার টিউনারদের খুবই পছন্দ করে। তাই সময় নিয়ে সুন্দর ভাবে, পরিপাটি করে ভাষা গুছিয়ে, আপনার মেধার পূর্ণ প্রয়োগ করে বিস্তারিত টিউন করুন।

অসম্পূর্ণ, অগোছালো, সুনির্দিষ্ট নয়, নাম মাত্র টিউন বা কোন রকম টিউন – এ ধরনের টিউন না করে সময় নিয়ে, সুন্দর ভাষার সুষ্ঠু প্রয়োগ করে, মেধার পূর্ণ ব্যবহার করে বিস্তারিত ভাবে টিউন করুন।

➡ কিছুদিন পর পর বা বেশ সময় ব্যবধানে টিউন না করে নিয়মিত টিউন করে কমিউনিটিতে আপনার বিশ্বস্থতা ধরে রাখুন। নিয়মিত টিউনারদের টিউডাররা খুব পছন্দ করে ও আস্থা রাখে। টিউন করার জন্য সপ্তাহের দুটি দিন বেছে নিন। এতে আপনার নিয়মিত টিউন করার ধারাবাহিকতা থাকবে।

টেকটিউনস বিজ্ঞান প্রযুক্তি চর্চার এক উন্মুক্ত সৌশাল নেটওয়ার্ক। টেকটিউনসে আপনার বিজ্ঞান ও প্রযুক্তির চিন্তা চেতনা মনন, অভিজ্ঞতার প্রকাশ ঘটান। আপনার বিজ্ঞান ও প্রযুক্তির জানা বিষয় গুলো প্রযুক্তির এই সুবিশাল নেটওয়ার্কে অন্যদের মাঝে ছড়িয়ে দিন। নিজেকে একজন মানসম্মত, দ্ক্ষ, কমিউনিটির অন্যদের সাথে বন্ধু ভাবাপন্ন টিউনার হিসেবে গড়ে তুলুন। হয়ে উঠুন একজন আদর্শ টেকটিউনার।

Level 2

onekdin dore apnar tune er jonno wait kortesilam. ajke peye valo laglo. asha kori next tune gula tara tari korben. 🙂

Level New

ভাইয়্যা 54 নাম্বার লাইন এ যে কোড টি রিপ্লেস করতে হবে সেটি কি ঠিক আছে?…[‘username’] এখানে একটু সন্দেহ হচ্ছে…… $db[‘default’][‘username’] = ‘db_codeigniter_practice’;

আপনাকে আবারও ধন্যবাদ কষ্টকরে আমাদের জন্য টিউন করার জন্য।

খুব সুন্দর আর সহজ করে উপস্থাপন করার জন্য আন্তরিকভাবে ধন্যবাদ ।
টিউনটির সুন্দর সমাপ্তির অপেক্ষায় রইলাম।

Level 0

পিএইচপি শেখার জন্য বাংলা কথা সহ ভিডিও টিউটোরিয়াল http://www.examanswer24.com

Level 0

খুব ভাল উদ্যোগ, চালিয়ে যান।

Level 0

লাইনটিতে index.php মুছে ফেলুন। index.php মূলত ইউআরএল এর মাঝখানে প্রিন্ট হয়।

ar mane ki, jinish ta amon hobe : $config [”] = ”;

naki amon hobe $config[‘index_page’] = ”;

thanks

Level 0

database.php ফাইল কনফিগারেশন: line 54

db_codeigniter_practice ay name diye ki age db create korte hobe ?

I meant $db[‘default’][‘database’] = ‘db_codeigniter_practice’; ay line je db name ta deya hoyeche seta ki age db_codeigniter_practice ay name created db ta ?

Level 0

Save as type: এ All Files নির্বাচন করে রাখুন। ফাইলটি সেভ করে আপনার প্রজেক্টের রুটে কপি করুন।

save korecopy kora mane ki…ar porject root ta ki sai codeignitor_practice flder ta ?

.htaccess extension ta without any name, with all types just save korbo codeignitor_practice ay folder a ? copy kora bolte ki bujhalen brother… confusing