কোডইগনিটার – CodeIgniter চেইন টিউন [পর্ব-০১] :: কোডইগনিটার (CodeIgniter) ও ফ্রেমওয়ার্ক পরিচিতি

টিউনটি শুরু করার আগে প্রথমেই ধরে নিচ্ছি আপনি HTML এবং CSS মোটামুটি জানেন, PHP বেসিক জানেন, MySQL এর বেসিক কাজগুলো যেমন: insert, update, delete এগুলো জানেন।
তাহলে চলুন আমরা শুরু করি। আর আগেই বলে নিই CodeIgniter তেমন জটিল বা কঠিন কিছু না, একটু চেষ্টা করলেই শিখে ফেলা সম্ভব।

কিন্তু প্রথমেই আমাদের কিছু প্রশ্নের উত্তর জানা দরকার। তাহলে প্রশ্নগুলো নিয়েই প্রথমে আলোচনা শুরু করি।

কোডইগনিটার(CodeIgniter) কী?

কোডইগনিটার(CodeIgniter) হল পিএইচপির একটা ফ্রেমওয়ার্ক। এরকম আরো বেশ কিছু ফ্রেমওয়ার্ক আছে পিএইচপির। যেমন:  CakePHP, Yii, Symphony, Zend, Laravel প্রভৃতি। এখান থেকে আরো তথ্য পাবেন:

http://ellislab.com/codeigniter

নতুন প্রশ্ন, ফ্রেমওয়ার্ক কী?

ধরুন আপনি কোন সাবজেক্টের উপর দশটা বই সংগ্রহ করলেন, দশটা বই পুরোপুরি ষ্টাডি করলেন এবং ষ্টাডি শেষে সবগুলো বইয়ের ভাল অংশগুলো যাচাই বাছাই করে একটা নোট তৈরী করলেন; এবং সবশেষে নোটটা আপনার ছাত্রকে দিলেন।

এখন আপনার ছাত্রকে কিন্তু ভাল রেজাল্ট করার জন্য আর দশটা বই-ই পড়তে হচ্ছে না। কারণ সে কাজটা আপনি আগেই করে ফিল্টারড একটা নোট তাকে দিয়ে দিয়েছেন। এখন সে ঐ নোটটা দিয়ে খুব অল্প সময় ষ্টাডি করেই ভাল রেজাল্ট করতে পারবে। এবং প্রত্যেকটা টপিকের বেটার সলিউশন তার কাছে আছে।

ফ্রেমওয়ার্ক বিষয়টা মূলত এই রকমই। ফ্রেমওয়ার্কে অনেক কিছুই রেডি করা থাকে। আপনার কাজ হল জাস্ট সেগুলো ব্যবহার করা। সলিউশনগুলো করা থাকে ক্লাশ আকারে। আপনাকে শুধু ক্লাশগুলো ব্যবহার করতে হবে, ফ্রেমওয়ার্কের নিয়ম অনুসরণ করে। যার কারণে Raw পিএইচপিতে আপনি যে কাজটা করতে ন্যুনতম ৫০টি লাইন লিখতে হবে সেখানে ফ্রেমওয়ার্কে সে কাজটি করতে মাত্র এক লাইন লিখলেই অনেক ক্ষেত্রে যথেষ্ট।

আরেকটি প্রশ্ন, ফ্রেমওয়ার্ক ব্যবহার করবেন কেন?

বেশিরভাগ ক্ষেত্রেই উত্তরটা হল ফাস্টার ডেভেলপমেন্ট। ফ্রেমওয়ার্ক ব্যবহার করে অনেক দ্রুত অ্যাপ্লিকেশন ডেভেলপ করা সম্ভব, যেহেতু লিখতে হয় অনেক কম। আগেই বলেছি Raw পিএইচপিতে ৫০ লাইন লেখার কাজ ফ্রেমওয়ার্কে এক লাইন লিখলেও চলে। যেটার কারণে বেশিরভাগ ডেভেলপমেন্ট ফার্মের পছন্দের শীর্ষে থাকে ফ্রেমওয়ার্ক এবং Raw পিএইচপি এখন কেউ পছন্দ করে না বললেই চলে।
সিকিউরিটি ইস্যুও অনেক গুরুত্বপূর্ণ একটা ব্যপার। সাধারন Raw পিএইচপির চেয়ে ফ্রেমওয়ার্কে করা এ্যাপ্লিকেশনে সিকিউরিটি অনেক বেশি থাকে। ফ্রেমওয়ার্কের সুবিধাগুলো ব্যবহার করে ইউজার ফেজে অনেক সহজেই সিকিউরিটি নিশ্চিত করা যায়।

এছাড়া এ্যাপ্লিকেশন ডেভেলপ করাটা অনেক সহজ করে দিয়েছে ফ্রেমওয়ার্ক। Raw পিএইচপির চেয়ে অনেক সহজেই আপনি এ্যাপ্লিকেশন ডেভেলপ করতে পারেন ফ্রেমওয়ার্ক ব্যবহার করে।

কিন্তু সবগুলো ফ্রেমওয়ার্ক ছেড়ে কোডইগনিটার কেন?

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

এবার আসি শুরু করার আগে আপনাকে কী কী জানতে হবে?

আগেই বলেছি HTML, CSS, PHP এবং MySQL  চারটা জিনিস মোটামুটি জানতে হবে। এক্সপার্ট হতে হবে তা না। মোটামুটি জানলেই চলবে। যদি একেবারেই না জেনে থাকেন তবে কোথাও থেকে ঝটপট শিখে নিন। আর বাকী জিনিসগুলো এই টিউটোরিয়ালেই ধীরে ধীরে আলোচনা করা হবে। এছাড়াও লোকালহোষ্টে XAMPP, LAMP বা WAMP এর সাহায্যে কিভাবে কাজ করতে হয় সে ব্যাপারেও ধারনা থাকতে হবে। আর যদি MVC সম্পর্কে কিছুটা ধারনা থাকে তাহলে খুবই ভাল। কারণ কোডইগনিটার কাজ করে MVC সিস্টেমে। যদি না থাকে তাহলে কোন সমস্যা নাই, আমরা পরের পর্বেই MVC নিয়ে বিস্তারিত আলোচনা করব।

চলুন এবার তাহলে মূল কাজে হাত দিই

প্রথমে আপনাকে কোডইগনিটার ফ্রেমওয়ার্কটি ডাউনলোড করতে হবে। নিচের লিংক থেকে কোডইগনিটার ডাউনলোড করে নিন: http://ellislab.com/codeigniter

ডাউনলোড করার পর ZIP ফাইলটি আনজিপ করুন, ফোল্ডারটি পেলেন সেটিকে আপনার লোকাল সার্ভারে রাখুন। যেমন: XAMPP এ htdocs বা WAMP এর www  ফোল্ডারে।
আপনার প্রজেক্টের একটা নাম দিন, মানে ফোল্ডারটি Rename করে codeigniter_practice  বা এরকম একটা কিছু নাম দিন। এবার ব্রাউজার থেকে localhost এর প্রজেক্ট যেভাবে রান করান সেভাবে রান করুন।

যেমন: http://localhost/codeigniter_practice । সব কিছু ঠিকঠাক থাকলে কোডইগনিটারের ওয়েরকাম ভিউটি দেখতে পাবেন। এই পেজটি মূলত কোডইগনিটারের Default View পেজ। এছাড়া এতে একটি ডিফল্ট Controller আছে। এই ডিফল্ট Controller ই ডিফল্ট View টাকে লোড করছে। কথাগুলো একটু শক্ত লাগতে পারে MVC সম্পর্কে ধারনা না থাকলে। দুশ্চিন্তার কিছু নাই। পরের টিউনেই আমরা MVC নিয়ে বিস্তারিত আলোচনা করব।

আমরা এখন মূলত কোডইগনিটার শেখা শুরু করার জন্য প্রস্তুত হলাম। অর্থাত আমাদের এনভাইরনমেন্ট এখন রেডি। আমরা ষ্টেপ বাই ষ্টেপ টিউটোরিয়ালের মাধ্যেমে কোডইগনিটারের মাধ্যমে একটা এ্যাপ্লিকেশন তৈরী করব।

আগামী টিউনে আমরা কোডইগনিটার Configuration এবং MVC সম্পর্কে আলোচনা করব। ততক্ষণ পর্যন্ত শুভরাত্রি।

কোন বিষয় না বুঝলে আমাকে নক করতে পারেন। আমার সব কন্ট্যাক্ট ইনফরমেশন http:www.hanabookbd.com এ গেলেই পাবেন। শুধু অনুরোধ করছি অফিস টাইমে নক না করার জন্য।

Level 0

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


টিউনস


আরও টিউনস


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


টিউমেন্টস

Thanks Brother go ahead …..

bro ami HTML,CSS pari but PHP kono vabei parsina.Vai Framework diye kaj korte gele ki PHP te expert hote hobe

    Level 0

    @bulet prodhan: না এক্সপার্ট হতে হবে না কিন্তু বেসিকটা অবশ্যই ভাল ক্লিয়ার থাকতে হবে।

অবাক হয়েছি পোষ্টটি দেখে। এতো জটিলসব বিষয় নিয়ে ইদানিং কেউ আর পোষ্ট করতে চায় না। পোষ্ট করে দেখা গেলো বেকার। আশানুরূপ রেসপন্স পাওয়া যায় না। তাই, অবাক হয়েছি। সেই সাথে অনেক অনেক ধন্যবাদও জানিয়ে গেলাম। প্রসঙ্গত বলছি, এই পোষ্টে মন্তব্য করার জন্য মেইলে লগিন করলাম। তারপর, পাসওয়ার্ড রিকোভার করে মন্তব্য লিখছি। সুন্দর একটি বিষয় নিয়ে লিখতে শুরু করেছেন। অনেক কষ্ট হচ্ছে জানি। কিন্তু, তারপরও আশা করবো, নিয়মিত চালিয়ে যাবেন। অনেক অনেক ধন্যবাদ ও শুভ কামনা রইলো ভাইয়া..। ভালো থাকুন খুব।

    @রুপালি গিটার: উতসাহব্যঞ্জক মন্তব্যের জন্য অনেক ধন্যবাদ। টেকটিউনস আজকাল বেশিরভাগ হালকা টিউনে ভরে গেছে। খরাটা কাটানোর জন্যই মূলত এ কাজে হাত দেওয়া। কোডইগনিটার কিন্তু জটিল কিছু না। অল্প চেষ্টা করলেই শেখা যাবে। টিউনগুলো ফলো করলেই হল। আর সমস্যা হলে তো আমি আছিই।
    আর শুধু মন্তব্য করার জন্য যে কষ্টটা করলেন তার জন্য ধন্যবাদ না জানিয়ে পারছি না…. ভাল থাকবেন…

      @নাজমুল হাসান নিরো:
      আসলে ভাইয়া আপনাকে উৎসাহ দেয়ার জন্য মন্তব্যটি করি নি। আমি লিখেছি শুধুমাত্র আপনার প্রতি কৃতজ্ঞতা জানানোর জন্য। হালকা টিউনের জন্যই ইদানিং খুব কম আসি টিটিতে। ফিরতি মন্তব্যর জন্য আবারও কৃতজ্ঞতা..। নিয়মিত থাকছেন আশা করি আমাদের সাথে। শুভ কামনা ভাইয়া।

পরবর্তী টিউনের অপেক্ষায় রইলাম। ….

এত সুন্দর করে লিখার জন্য ধন্যবাদ। দীর্ঘ ৮ মাস পর আবার ব্লগিং এ ফিরে এলাম একটি ভালো পোষ্ট দেখে। তাই না মন্তব্য করে পারলাম না। ধন্যবাদ আপনাকে ,অনেক ধন্যবাদ। তবে লিখতে গিয়ে অনেক মন্তব্য আসবে -ভালো এবং খারাপ। তবে লিখা যেন থেমে না থাকে। এগিয়ে যান অনেক দূর

    @প্রোগ্রামার রোমেল: আপনার মন্তব্য অনেক উতসাহব্যঞ্জক। খুব ভাল লাগল শুনে আপনি ব্লগিং এ আবার ফেরত আসলেন। টেকটিউনসে আমি নতুন। এখানকার পরিস্থিতি তেমন জানি না। তবে ভাল একটা কাজ করতে গিয়ে ভাল খারাপ মন্তব্য নিয়ে তো মাথা ঘামিয়ে লাভ নেই। আমার কাজ আমি করে যাব। যারা কোডইগনিটার শিখতে আগ্রহী তাদের কাছ থেকে যতটুকু সাড়া পাওয়া যায় তাতেই যথেষ্ট………ধন্যবাদ আপনাকে

শুধুমাত্র কমেন্ট করার জন্য লগিন করলাম।

পোস্ট দারুণ হয়েছে। থামাবেন না। জিনিসটা শিখার ইচ্ছে আছে।

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

আপনার টিউনটি টেকটিউনস চেইন টিউন হিসেবে অন্তর্ভুক্ত করা হয়েছে। অভিনন্দন আপনাকে!

টেকটিউনসে চেইন টিউন কীভাবে প্রক্রিয়া হয় তা জানতে টেকটিউনস সজিপ্র এর https://www.techtunes.io/faq “চেইন টিউন” অংশ দেখুন।

নিয়মিত চেইন টিউন করুন। এখন থেকে আপনার নতুন করা চেইন টিউন গুলো টেকটিউনস থেকে চেইন এ যুক্ত করা হবে। চেইন টিউনে যুক্ত হবার ফলে চেইনের প্রতিটি পর্ব একসাথে থাকবে।

চেইনে নতুন পর্ব যুক্ত হলে তা টেকটিউনসের প্রথম পাতায় দেখা যাবে এবং “সকল চেইন টিউনস” https://www.techtunes.io/chain-tunes/ পাতায় চেইন টিউনটি যুক্ত হবে।

আপনার টিউন যেহেতু প্রোগ্রামিং সংক্রান্ত টিউন ও টিউনে কোডের ব্যবহার রয়েছে তাই বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজের কোড যেমন HTML, CSS, JS, PHP ইত্যাদি কোড সুন্দর ও সঠিক ভাবে দেখাতে টেকটিউনসের রয়েছে নিজেস্ব “কোড হাইলাইটার”। টেকটিউনসের “কোড হাইলাইটার” কিভাবে ব্যবহার করতে হয় তা জানতে এই টিউনটি
দেখুন

নিয়মিত চেইন টিউন করে নতুন নতুন টিউন আপনার চেইনে যুক্ত করুন এবং অসম্পূর্ণ না রেখে আপনার চেইন টিউনে নিয়মিত পূর্ণাঙ্গ রূপ দিন।

মেতে থাকুন প্রযুক্তির সুরে আর নিয়মিত করুন চেইন টিউন!

Level 0

Onek Guchano nice akta tune hoiche…go on brother…

আপনাকে অসংখ্য ধন্যবাদ টিউনটি আরাম্ভ করার জন্য। কিন্তু একটা অনুরোধ প্লিজ লেখা বন্ধ করবেন না। কারন আমি এটা শিখছি এবং আশা করি আপনার টিউন গুলা অনেক কাজে লাগবে। ধন্যবাদ

    @পলাশ: আপনাকেও অসংখ্য ধন্যবাদ। লেখা বন্ধ করার কোন ইচ্ছা নাই। নিয়মিত চোখ রাখুন, আশা করি ভাল করবেন…

অনেক অনেক ধন্যবাদ ভাই। কয়েক দিন ধরে খুজতেছি কোডইগনিটার টিউটোরিয়াল। একটু কষ্ট করে হলেও চালিয়ে যাবেন।

    @জাবের হোসেন: বাংলাতে কোডইগনিটারের তেমন কোন টিউটোরিয়াল নেই জন্যই মূলত এটি শুরু করা। সবসময় পাশে থাকলে কষ্ট করে হলেও চালিয়ে যাব…………..

ভাইয়া, দারুন লিখেছেন। আশা করি MVC নিয়ে লেখাটাও এরকম সহজবোধ্য হবে। একটা অনুরোধ আছে, তা হল “Hello World” টাইপ ছোট্ট একটা Code এর example দিয়ে সেই Code এর কোন অংশটা Model, কোন অংশটা View আর কোনটা Controller সেটা ব্যাখ্যা করবেন। আমার ধারনা তাতে সবারই বুঝতে সুবিধা হবে।

পরবর্তী টিউনটির অপেক্ষায় থাকলাম। অনেক ভাল থাকবেন।

    @DynaMight71: সর্বোচ্চ চেষ্টা করব আপনাদের জন্য সবচে সহজবোধ্য করে লেখার জন্য। পরবর্তী টিউনে যখন MVC নিয়ে লিখব তখন আপনার চাওয়া অনুযায়ী উপস্থাপন করতে। পরামর্শের জন্য অনেক ধন্যবাদ….

Level 0

পরবর্তী টিউনটির অপেক্ষায় থাকলাম।

ভাইয়া সাথে আসি। পরবর্তী টিউনটির অপেক্ষায় থাকলাম।

Level 0

Please borther keep it up .

Level 0

darun tune vai. sathey achi.. chaliye jan.

অনেক অনেক ধন্নবা দ্ভাইয়া। অনেকদিন থেকে কোডইগনিটার সম্পর্কে জানার আগ্রহ ছিল।

অনেক অনেক ধন্যবাদ আপনাকে। 🙂

Level 0

অভিনন্দন আপনাকে। এরকম একটি জটিল টিউন করার জন্য। অনেককেই দেখেছি তারা টিউন খুব ভালোভাবে শুরু করে। কিন্তু শেষভাগে তেমন কিছু থাকেনা এবং তখন তারা নিজের স্বার্থসিদ্ধির চিন্তা করে আর টিটি’তে লিখেনা। যদি তাদের কাছ থেকে টিউশান নেওয়া হয় তবে সব কিছু শিখায়। আশা করি ভাই আপনি স্বত:স্ফুর্তভাবে আপনার জ্ঞানকে আমাদের মাঝে বিলিয়ে দিবেন। শুভকামনা রইল।

টিউনটি ভাল লেগেছে।
এককথায় উপস্থাপন টা অনেক সুন্দর হয়েছে। ধন্যবাদ।

Level New

PHP ফ্রেমওয়ার্ক শেখার অনেক আগ্রহ থাকলেও অজানা একটা ভয়ের কারনে শেখা শুরু করতে পারিনি যদিও ইউটিউব থেকে PHP ফ্রেমওয়ার্ক এর উপর অনেকগুলো বিডিও টিউটরিয়ল নামিয়েছিলাম শেখার জন্য কিন্তু সাহস পায়নি….. আপনার টিউটরিয়ালটি পড়ে আমার PHP ফ্রেমওয়ার্ক এর ভয় দূর হয়ে গেল।
আর অপনি প্রথমেই আমাদের ব্রেনে একটি গুরুত্বপূর্ণ ম্যাসেজ পাঠিয়ে দেন সেটি হল .. “ জটিল বা কঠিন কিছু না, একটু চেষ্টা করলেই শিখে ফেলা সম্ভব।”
——-এক কথায় এটি একটি অসাধারন টিউন।
আপাকে অশেষ ধন্যবাদ চমৎকার একটি টিউন করার জন্য।

    @Shamsul Alam: এটা আসলে নিজেকে দেখেই শেখা। আমি যদি অল্প দিনে প্রোগ্রামিং এ এসে বুঝতে পারি তাহলে আপনিও নিশ্চয় পারবেন।
    সুতরাং অবশ্যই এটি কঠিন কিছু না……….
    নিয়মিত টিউনগুলো দেখতে থাকুন আর কোন সমস্যা হলে জানান

অনেক ধন্যবাদ সুন্দর এই টিউনটি শুরু করার জন্য ।
একটি অনুরোধ-টিউনটি শেষ করে Advance level এ শেখার জন্য কিছু ভালো Resource এর লিঙ্কও দেয়ার চেষ্টা করবেন ।
আল্লাহ আপনাকে টিউনটি ভালোভাবে শেষ করার তৌফিক দিন ।

Level 0

I will follow every tunes of you inshallh,,, great initiative brother…..

What is Different of CodeIgniter And Laravel ?