MVC

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

এম ভি সি কি?

এখন জনপ্রিয় (laravel , cake-php , codingiter , spring , django , ruby on rails) যতগুলো ওয়েব ফ্রেমওয়ার্ক রয়েছে সবগুলো এম ভি সি (MVC) ফ্রেমওয়ার্ক এর ওপর ভিত্তি করেই বানানো । এম ভি সি (MVC) হচ্ছে মডেল - ভিউ - কন্ট্রোলার (Model–view–controller) ।

এখন একটা গল্প শোনেন –

রুবি সি এস ই তে পড়ে , বাবা মায়ের সাথে ঢাকাই থাকে । মেয়েরা স্বভাবগত ভাবে বাবার সাথে আক্তু বেশি মিশুক হয় । কিন্তু রুবি রুবি তার বাবাকে খুব ভয় পায় । তাই টাকা লাগলে রুবি তার মাকে জানায় , রুবির মা সেটা রুবির বাবাকে জানায় এবং টাকা নিয়ে রুবি কে দেয় ।
ধাপ টা এমন
রুবি - রুবি মা - রুবির বাবা ।

এই গল্পের মাধ্যমে এম ভি সি এর সকল তুলে ধরা আছে । মডেল = রুবির বাবা , কন্ট্রোলার = রুবি মা , ভিউ = রুবি ।
রুবি সব কিছু তার মায়ের কাছে জানাচ্ছে , তার মানে রুবি তার মায়ের সাথে যুক্ত () তাহলে কি বলা যায় - ভিউ কন্ট্রোলারের সাথে সংযুক্ত ? রুবির মা রুবির কথা রুবির বাবার কাছে তুলে ধরে , তাই রুবির মা সংযুক্ত আছে রুবির বাবার সাথে । তাই বলা যায় কন্ট্রোলার মডেলের এর সাথে সংযুক্ত । এত গল্প কিন্তু টাকার জন্য । সেই টাকার সাথে সংযুক্ত রুবির বাবা ।

এম ভি সি সম্পর্কে বিস্তারিত

ভিউঃ ভিউ ফ্রন্ট এন্ডের সাথে জড়িত । আপনি ফেসবুক , টুইটার এ আপনার প্রোফাইল দেখেন , তথ্য গুলো আপনি চোখে দেখতে পারেন আপনার ডিভাইস এর স্ক্রিনে । এটাই ভিউ । ভিউ কে সকল তথ্য দেয় কন্ট্রোলার ।

কন্ট্রোলারঃ কন্ট্রোলার হচ্ছে সার্ভার ( লিনাক্স / উইন্ডোজ) । যখন আপনি নিজের প্রোফাইল ফেসবুক , টুইটার এ দেখেন তখন ত আপনি ইউজার । প্রোফাইল দেখার জন্য আপনি আপনার ব্রাউজার এর ইউ আর এল লিংক https://www.facebook.com/code4mkk কমান্ড দিয়ে থাকেন । সার্ভার এর কাজ হচ্ছে লিংক টা বা () টা মডেল এর কাছে পাঠানো । এছাড়া মডেল যে তথ্য দেয় সেটা ভিউ এর কাছে প্রেরন করে ।

মডেলঃ মডেল ডাটাবেস এর সাথে যুক্ত । কন্ট্রোলার যখন লিংক টা মডেল এর কাছে পাঠায় , মডেল টা তখন রুট এর সাথে ডাটাবেস এর মিল করে তারপর তথ্যগুলো কন্ট্রোলার এর কাছে পাঠায় ।