রুট গ্রুপ:

রুট গ্রুপগুলি লারাভেলের একটি অপরিহার্য বৈশিষ্ট্য যা আপনাকে সমস্ত রুটকে দলবদ্ধ করার সুযোগ দেয়। আপনি যখন সমস্ত রুটে বৈশিষ্ট্যগুলি প্রয়োগ করতে চান তখন রুট গ্রুপগুলি খুবই উপকারী৷ আপনি যদি রুট গ্রুপ ব্যবহার করেন, তাহলে আপনাকে প্রতিটি রুটে পৃথকভাবে বৈশিষ্ট্যগুলি প্রয়োগ করতে হবে না; এটি কপি করা এড়ায়। এটি আপনাকে প্রতিটি পৃথক রুটে এই বৈশিষ্ট্যগুলি সংজ্ঞায়িত না করেই মিডলওয়্যার বা নেমস্পেসের মতো বৈশিষ্ট্যগুলি ভাগ করতে দেয়৷ এই ভাগ করা বৈশিষ্ট্যগুলি একটি অ্যারো বিন্যাসে Route::group পদ্ধতিতে প্রথম প্যারামিটার হিসাবে পাস করা যেতে পারে।

রুট গ্রুপের সিনট্যাক্স:

  1. Route::group( [ ] , callback);  

প্যারামিটারস

[ ]: এটি একটি প্রথম প্যারামিটার হিসাবে গ্রুপ পদ্ধতিতে পাস করা একটি অ্যারো।

রুট গ্রুপের উদাহরণ:

web.php

  1. Route::group([], function()  
  2. {  
  3.    Route::get('/first',function()  
  4.  {  
  5.    echo "first route";  
  6.  });  
  7. Route::get('/second',function()  
  8.  {  
  9.    echo "second route";  
  10.  });  
  11. Route::get('/third',function()  
  12.  {  
  13.    echo "third route";  
  14.  });  
  15. });  

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

আউটপুট:

যখন আমরা URL "localhost/laravelproject/public/first" অ্যাক্সেস করি তখন আউটপুট হবে।

যখন আমরা URL "localhost/laravelproject/public/second" অ্যাক্সেস করি, তখন আউটপুট হবে।

যখন আমরা URL "localhost/laravelproject/public/third" অ্যাক্সেস করি, তখন আউটপুট হবে।

পাথ উপসর্গ:

যখন আমরা একটি সাধারণ URL গঠন প্রদান করতে চাই তখনই মূলত পাথ উপসর্গ ব্যবহার করা হয়।

আমরা রুট গ্রুপে প্রিফিক্স অ্যারে বিকল্পটি ব্যবহার করে গ্রুপের মধ্যে সংজ্ঞায়িত সমস্ত রুটের জন্য উপসর্গ নির্দিষ্ট করতে পারি।

একটি উদাহরণের মাধ্যমে বোঝা যাক।

web.php

  1. Route::group(['prefix' => 'tutorial'], function()  
  2. {  
  3.    Route::get('/aws',function()  
  4.  {  
  5.    echo "aws tutorial";  
  6.  });  
  7. Route::get('/jira',function()  
  8.  {  
  9.    echo "jira tutorial";  
  10.  });  
  11. Route::get('/testng',function()  
  12.  {  
  13.    echo "testng tutorial";  
  14.  });  
  15. });  

উপরের কোডটিতে তিনটি রুট রয়েছে যা নিম্নলিখিত URLগুলি দ্বারা অ্যাক্সেস করা যেতে পারে।

/tutorial/aws

/tutorial/jira

/tutorial/testng

মিডলওয়্যার:

আমরা একটি গ্রুপের মধ্যে সমস্ত রুটে মিডলওয়্যার বরাদ্দ করতে পারি। মিডলওয়্যার পদ্ধতি ব্যবহার করে গ্রুপ তৈরি করার আগে মিডলওয়্যার সংজ্ঞায়িত করা যেতে পারে।

একটি উদাহরণের মাধ্যমে বোঝা যাক।

web.php

  1. Route::middleware(['age'])->group( function()  
  2. {  
  3.   
  4.    Route::get('/aws',function()  
  5.  {  
  6.    echo "aws tutorial";  
  7.  });  
  8. Route::get('/jira',function()  
  9.  {  
  10.    echo "jira tutorial";  
  11.  });  
  12. Route::get('/testng',function()  
  13.  {  
  14.    echo "testng tutorial";  
  15.  });  
  16.   
  17. });   

CheckAge.php (মিডলওয়্যার)

  1. <?php  
  2. namespace App\Http\Middleware;  
  3. use Closure;  
  4. class CheckAge  
  5.   
  6. {  
  7. /** 
  8.      * Handle an incoming request. 
  9.      * 
  10.       
  11. * @param 
  12.   \Illuminate\Http\Request  $request 
  13.      
  14.  * @param  \Closure  $next 
  15.      * @return mixed 
  16.      */  
  17.    
  18.    public function handle($request, Closure $next)  
  19.       
  20. {  
  21.         
  22. //return "middleware";  
  23. echo "Hello javaTpoint <br>";  
  24. return $next($request);  
  25.       
  26. }  
  27. }  

আউটপুট:

রুটের নাম উপসর্গ:

নাম পদ্ধতিটি নির্দিষ্ট কিছু স্ট্রিং সহ প্রতিটি রুটের নাম উপসর্গ করতে ব্যবহৃত হয়। নাম পদ্ধতিতে আমাদের প্রিফিক্সে একটি ট্রেলিং অক্ষর সহ স্ট্রিং নির্দিষ্ট করতে হবে।

একটি উদাহরণ দেখা যাক।

  1. Route::name('admin.')->group(function()  
  2. {  
  3.    Route::get('users'function()  
  4. {  
  5.  return "admin.users";  
  6. })->name('users');  
  7. });   

উপরের কোডে রুটের নাম হবে admin.users ।

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

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

Leave a Comment