লারাভেল-৫ টিউটোরিয়াল (পর্ব-০৩) :: কন্ট্রোলার, রাউট, ভিউ তৈরী করা

বিভাগ: লারাভেল টুডু অ্যাপ্লিকেশন


গত পর্বে আমরা ডাটাবেস, মডেল তৈরী ও টেবিল তৈরী করা কাজ দেখেছিলাম। আজকের পর্বে আমরা কন্ট্রোলার তৈরী, ডাটা ইনসার্ট ও ডাটা রিট্রিভ করা শিখব। আমাদের আজকের কাজ শুরু করার আগে কিছু জিনিস জানতে হবে, যেমন- কন্ট্রোলার, ভিউ, রাউট এসব কী?

কন্ট্রোলার কী?

লারাভেল সহ যেকোন MVC ফ্রেমওয়ার্কে কন্ট্রোলার থাকে। কন্ট্রোলার শব্দটি আভিধানিক অর্ধ হল নিয়ন্ত্রক। শব্দটি শুনলে অনেকটা আন্দাজ করা যায়, মানে হল এটি আমাদের ডাটাগুলোকে নিয়ন্ত্রন করবে। আমরা টেবিলের ডাটাগুলোকে মডেলের মাধ্যমে রাখব আর কন্ট্রোলারের মাধ্যমে আমরা আমাদের লজিক দিয়ে ভিউতে বিভিন্ন  কন্ডিশনে ডাটা দেখাব বা দেখাবো না তা নিয়ন্ত্রন করব।

ভিউ কী?

MVC এর ভিউ হল যেখানে আমরা ডাটা বা বিভিন্ন গ্রাফিক্যাল কন্টেন্ট দেখাব। মানে হল, আমরা ডাটাবেস থেকে ডাটাগুলো তুলে এনে যেখানে দেখাব তা-ই হল ভিউ (View)।

রাউট কী?

রাউট হল এককথায় পথ। পথ বলতে আমার কি বুঝি? আমরা সাধারণত কোথায় যাওয়ার রাস্তা বুঝি। তেমনি MVC তে রাউট অর্থ হল অ্যাপ্লিকেশনের এক-একটি পথ বা রাস্তাকে বুঝায়। একটি অ্যাপ্লিকেশনের কোন পথ/রাস্তায় কি থাকবে, থাকবে না তা আমরা নির্ধারণ করি। উদাহারণ দিলে আরো ক্লিয়ার ধারণা পাওয়া যাবে। ধরুন আমি যদি বলি http://learn24bd.com/contact এখানে মুল ডোমেইন http://learn24bd.com এর পরে আছে /contact যেখানে আমি যোগাযোগ সম্পর্কীত তথ্যাদি রেখেছি। তেমনি যদি হয় /blog, /category, /tutorial, /portfolio এগুলো অ্যাপ্লিকেশন বা ওয়েব সাইটের এক একটি রাউট। যেখানে কেউ গেলে একজন অ্যাপ্লিকেশন ডেভেলপার কি অ্যাকশন করবে তা একটি কন্ট্রোলারের সাথে সম্পর্কিত থাকে।

চলুন এবার আসল কাজে যাই।

    • আগের পর্বের মত কমান্ড লাইনটি খুলে একটি কন্ট্রোলার তৈরী করার জন্য টাইপ করি php artisan make:controller TodoController এবং এন্টার কী প্রেস করি।
    • কমান্টটি চালানোর পর আপনার প্রজেক্টের app/Http/Controllers এ একটি কন্ট্রোলার পিএইচপি ফাইল তৈরী হবে।
    • এখন আমরা একটি রাউট (Route) লিখব, যেখানে হিট করলে আমরা আমাদের Todo List গুলো দেখতে পাব। এই জন্য app/Http ফোল্ডারে থাকো Route.php ফাইলটিতে এই কোডটি লিখুন। 
      Route::get('/', 'TodoController@index');
    • '/' এর অর্থ হল মূল পাথ। মানে কেউ আমাদের অ্যাপ্লিকেশনের মূল পাথে হিট করলে কি হবে তা আমরা নিধারণ করছি। উপরোক্ত কোডটি দ্বার বুঝানো হচ্ছে মূল পাথ (http://localhost/todo) হিট করলে এটি TodoController এর index ম্যাথডটিতে হিট করবে। index ম্যাথটিতে আমরা আমাদের টেবল থেকে ডাটাগুলো তুলে এনে একটি  ভিউ এর সহয়তায় ডাটাগুলো দেখাব।
    • এখন Resources/Views ফোল্ডারে গিয়ে app.blade.php ফাইলটা খুলে কোডটি পরিবর্তন করে নিন।
      asset('/css/app.css')
    • এখন home.blade.php ফাইলটি খুলে সব কোড মুছে এই কোডগুলো লিখুন
  • এখন আমরা যদি http://localhost/todo/public/ পাথে দেখি নিচের মত একটি ভিউ দেখতে পাব। এখানে একটি ফর্মে একটি ইনপুট বক্স নিয়েছি যাতে আমরা লিস্ট গুলো লিখে ইনসার্ট করতে পারি এবং একটি টেবল নিয়েছি যাতে ডাটাগুলোকে তুলে এনে সাজিয়ে দেখানো যায়।

laravel data retrieve

পরবর্তী পর্বে আমরা এই ফর্মটির মাধ্যমে ডাটা ইনসার্ট করব এবং টেবিলে ডাটা তুলে এন দেখাব।


এই রকম আরো পোষ্ট