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

Laravel কন্ট্রোলার একটি Laravel কাঠামোর একটি অপরিহার্য বৈশিষ্ট্য। প্রাথমিকভাবে আমরা রুট ফাইলে ক্লোজার আকারে অনুরোধের যুক্তি পরিচালনা করছিলাম; এখন, রুট ফাইলে ক্লোজার ব্যবহার করার জায়গায়, আমরা কন্ট্রোলার ক্লাস ব্যবহার করি। কন্ট্রোলারগুলি একক শ্রেণীর মধ্যে অনুরোধের যুক্তি পরিচালনা করতে ব্যবহৃত হয় এবং কন্ট্রোলারগুলিকে "app/http/Controllers" ডিরেক্টরিতে সংজ্ঞায়িত করা হয়। লারাভেল ফ্রেমওয়ার্ক এমভিসি (মডেল ভিউ কন্ট্রোলার) আর্কিটেকচার অনুসরণ করে যেখানে নিয়ামকগুলি মডেল এবং ভিউয়ের মধ্যে ট্র্যাফিককে সামনে পিছনে সরানোর কাজ করে।

কন্ট্রোলারের ডিফল্ট ফাইল app/http/Controllers ডিরেক্টরিতে পাওয়া যায়।

  1. <?php  
  2. namespace App\Http\Controllers;  
  3. use Illuminate\Foundation\Bus\DispatchesJobs;  
  4. use Illuminate\Routing\Controller as BaseController;  
  5. use Illuminate\Foundation\Validation\ValidatesRequests;  
  6. use Illuminate\Foundation\Auth\Access\AuthorizesRequests;  
  7. class Controller extends BaseController  
  8. {  
  9.   use AuthorizesRequests, DispatchesJobs, ValidatesRequests;  
  10. }  

উপরের কোডে নেমস্পেস ব্যবহার করা হয়েছে কারণ এটি আপনাকে একই অ্যাপ্লিকেশনের বিভিন্ন অংশে একই ফাংশনের নাম এবং ক্লাস ব্যবহার করতে দেয়। উদাহরণ স্বরূপ,

  1. namespace App\Http\functions1;  
  2. namespace App\Http\functions2;  

ধরুন আমাদের নামের ফাংশনটি চালাতে হবে, অর্থাৎ RunQuery() । এগুলি বিভিন্ন ডিরেক্টরি functions1 এবং functions2 এ উপলব্ধ তাই আমরা বলতে পারি যে নেমস্পেস একই ফাংশন নামের মধ্যে সংঘর্ষ এড়ায়।

'use' বর্তমান ফাইলে ক্লাস ইমপোর্ট করতে ব্যবহৃত হয়।

চলুন দেখি কিভাবে গিট ব্যাশ উইন্ডোর মাধ্যমে কন্ট্রোলার তৈরি করা যায়।

স্টেপ-০১: গিট ব্যাশ উইন্ডো খুলুন এবং কন্ট্রোলার তৈরি করতে গিট ব্যাশ উইন্ডোতে "php artisan make:Controller PostsController" কমান্ড টাইপ করুন।

উপরের স্ক্রীনটি দেখায় যে PostsController নামক নিয়ামকটি সফলভাবে তৈরি করা হয়েছে।

স্টেপ-০২: এখন আপনার প্রকল্পে যান এবং দেখুন PostsController ফাইলটি তৈরি হয়েছে কিনা। ফাইলের পথ হল:

C:\xampp\htdocs\laravelproject\app\Http\Controllers

উপরের স্ক্রীনটি দেখায় যে PostsController ফাইলটি তৈরি হয়েছে।

PostsController.php ফাইলের ডিফল্ট কোড নিচে দেওয়া হল।

  1. <?php  
  2.   
  3. namespace App\Http\Controllers;  
  4.   
  5. use Illuminate\Http\Request;  
  6.   
  7. class PostsController extends Controller  
  8.   
  9. {  
  10.       
  11. //  
  12.   
  13. }  

উপরের কোডটিতে এমন ক্লাস রয়েছে যা কন্ট্রোলার ক্লাসকে প্রসারিত করে, কিন্তু এই ক্লাসে তৈরি করা, আপডেট করা বা মুছে ফেলার মতো ফাংশন থাকে না। এখন আমরা দেখব কিভাবে কিছু ডিফল্ট ফাংশন ধারণ করে কন্ট্রোলার তৈরি করা যায়।

কন্ট্রোলার তৈরি করতে, আমরা প্রথমে PostsController.php প্রজেক্ট থেকে মুছে ফেলব, যা আমরা আগের ধাপে তৈরি করেছি।

কমান্ড টাইপ করুন:

php artisan make:controller -resource PostController, এই কমান্ডটি কন্ট্রোলার তৈরি করতে ব্যবহৃত হয়।

এখন PostController ফাইল তৈরি করা হয়েছে কিনা তা দেখতে আপনার প্রকল্পে যান । ফাইলের পথ হবে।

C:\xampp\htdocs\laravelproject\app\Http\Controllers

উপরের স্ক্রীনটি দেখায় যে PostController ফাইলটি সফলভাবে তৈরি করা হয়েছে।

PostController.php ফাইলের ডিফল্ট কোড নিচে দেওয়া হল।

  1. <?php  
  2. namespace App\Http\Controllers;  
  3. use Illuminate\Http\Request;  
  4. class PostController extends Controller  
  5. {  
  6.     /** 
  7.      * Display a listing of the resource. 
  8.      * 
  9.      * @return \Illuminate\Http\Response 
  10.      */  
  11. public function index()  
  12. {  
  13.         //  
  14.  }  
  15.   
  16. /** 
  17.      * Show the form for creating a new resource. 
  18.      * 
  19.      * @return \Illuminate\Http\Response 
  20.  */  
  21.  public function create()  
  22.  {  
  23.    //  
  24.  }  
  25.   
  26.  /** 
  27.      * Store a newly created resource in storage. 
  28.      * 
  29.      * @param  \Illuminate\Http\Reques $request 
  30.      * @return \Illuminate\Http\Response 
  31.      */  
  32. public function store(Request $request)  
  33. {  
  34.   
  35.         //  
  36.  }  
  37.   
  38.   /** 
  39.      * Display the specified resource. 
  40.      * 
  41.      * @param  int  $id 
  42.      * @return \Illuminate\Http\Response 
  43.      */  
  44.       
  45. public function show($id)  
  46.       
  47. {  
  48.           
  49. //  
  50.       
  51. }  
  52.   
  53.   /** 
  54.      * Show the form for editing the specified resource. 
  55.      * 
  56.      * @param  int  $id 
  57.      * @return   
  58. \Illuminate\Http\Response 
  59.      */  
  60.       
  61. public function edit($id)  
  62.       
  63. {  
  64.           
  65. //  
  66.       
  67. }  
  68.   
  69.    /** 
  70.      * Update the specified resource in storage. 
  71.      * 
  72.      * @param  \Illuminate\Http\Request    
  73. $request 
  74.      * @param  int  $id 
  75.      * @return \Illuminate\Http\Response 
  76.      */  
  77.       
  78. public function update(Request $request$id)  
  79.       
  80. {  
  81.           
  82. //  
  83.       
  84. }  
  85.   
  86.       
  87. /** 
  88.      * Remove the specified resource from storage. 
  89.      * 
  90.      * @param  int  $id 
  91.      * @return   
  92. \Illuminate\Http\Response 
  93.      */  
  94.       
  95. public function destroy($id)  
  96.      
  97.  {  
  98.           
  99. //  
  100.       
  101. }  
  102. }  

উপরের কোডটিতে এমন ফাংশন রয়েছে যা রিসোর্সে বিভিন্ন ক্রিয়াকলাপ সম্পাদন করতে ব্যবহৃত হয় যেমন:

create(): এটি একটি নতুন রিসোর্স তৈরি করতে ব্যবহৃত হয়।

store(): এটি নির্দিষ্ট রিসোর্স সংরক্ষণ করতে ব্যবহৃত হয়।

update(): এটি স্টোরেজের নির্দিষ্ট রিসোর্স আপডেট করতে ব্যবহৃত হয়।

destroy(): এটি স্টোরেজ থেকে নির্দিষ্ট রিসোর্স অপসারণ করতে ব্যবহৃত হয়।

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

সৌজন্যে : বাংলাদেশের জনপ্রিয় এবং বর্তমান সময়ের বাংলা ভাষায় সকল গুরুত্বপূর্ণ বিষয়ক টিউটোরিয়াল সাইট - www.TutorialBD71.blogspot.com নিত্যনতুন বিভিন্ন বিষয়ে টিউটোরিয়াল পেতে সাইটটিতে সবসময় ভিজিট করুন।

Leave a Comment