রাউটিং লারাভেলের অপরিহার্য ধারণাগুলির মধ্যে একটি। রুটগুলির প্রধান কার্যকারিতা হল আপনার সমস্ত অ্যাপ্লিকেশন অনুরোধগুলি যথাযথ নিয়ামকের কাছে রুট করা।

ডিফল্ট রুট ফাইল:

সমস্ত লারাভেল রুট রুট ডিরেক্টরিতে অবস্থিত রুট ফাইলের ভিতরে সংজ্ঞায়িত করা হয় । আমরা যখন একটি প্রজেক্ট তৈরি করি, তখন প্রজেক্টের ভিতরে একটি রুট ডিরেক্টরি তৈরি হয়। route/web.php ডিরেক্টরিতে আপনার ওয়েব ইন্টারফেসের জন্য রুট ফাইলের সংজ্ঞা রয়েছে। web.php-এর রুটগুলি ওয়েব মিডলওয়্যার গ্রুপের সাথে বরাদ্দ করা হয় যা সেশন স্টেট এবং CSRF সুরক্ষার মতো বৈশিষ্ট্যগুলি প্রদান করে। routes/api.php-এ সংজ্ঞায়িত রুটগুলি API মিডলওয়্যার গ্রুপের সাথে বরাদ্দ করা হয় এবং সেগুলি রাষ্ট্রহীন।

আমরা routes/web.api ফাইলে রুট সংজ্ঞায়িত করে শুরু করব । routes/web.php-এ সংজ্ঞায়িত রুটগুলি ব্রাউজারে সংজ্ঞায়িত URL প্রবেশ করে অ্যাক্সেস করা যেতে পারে। একটি উদাহরণের মাধ্যমে বিষয়টি বোঝা যাক।

ডিফল্ট রুট ফাইলের সংজ্ঞা:

  1. <?php  
  2. Route::get('/'function ()  
  3.  {      
  4. return view ('welcome');  
  5. });  

উপরের ক্ষেত্রে রুট হল সেই ক্লাস যা স্ট্যাটিক মেথড get() সংজ্ঞায়িত করে। get() পদ্ধতিতে '/' এবং function() ক্লোজার প্যারামিটার রয়েছে। '/' রুট ডিরেক্টরি সংজ্ঞায়িত করে এবং function() get() পদ্ধতির কার্যকারিতা সংজ্ঞায়িত করে।

উপরের রুটে, url হল '/'; তাই আমরা ওয়েব ব্রাউজারে localhost/laravelproject/public URL প্রবেশ করিয়েছি।

আউটপুট:

আমরা জানি প্রতিটি ওয়েব ইন্টারফেস প্রথম তৈরি করার পর একটি স্বাগতম বিষয়ক ম্যাসেজ বা বার্তা প্রদর্শিত হয়। ঠিক লারাভেল এর ক্ষেত্রেও সেই  একই বিষয় পরিলক্ষিত হবে ঠিক উপরের স্ক্রিনশটের মতো।

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

এখন আমরা এই উদাহরণে আরেকটি url প্রদান করি।

  1. <?php  
  2. Route::get('/example'function ()  
  3.  {      
  4. return "Hello javaTpoint";  
  5. });  

উপরের উদাহরণে রুটটি সংজ্ঞায়িত করা হয়েছে কোন URLটি '/example', তাই আমাদের ওয়েব ব্রাউজারে URL "localhost/laravelproject/public/example" লিখতে হবে।

আউটপুট:

CSRF Protection

যে HTML ফর্মগুলি ওয়েব রুট ফাইলগুলিতে সংজ্ঞায়িত পোস্ট পুট বা ডিলিট রুটের দিকে নির্দেশ করে তাতে CSRF টোকেন ক্ষেত্র অন্তর্ভুক্ত করা উচিত। যদি CSRF টোকেন ক্ষেত্র অন্তর্ভুক্ত না হয় তাহলে অনুরোধটি প্রত্যাখ্যান করা হবে।

    1. <form method="POST" action="/profile">  
    2.     @csrf  
    3.     ...  
    4. </form>  

রাউটার সেই রুটগুলিকে সংজ্ঞায়িত করে যা নিম্নলিখিত http ক্রিয়াগুলির প্রতিক্রিয়া জানাতে পারে।

Route::get($uri, $callback);

Route::post($uri, $callback);

Route::put($uri, $callback);

Route::patch($uri, $callback);

Route::delete($uri, $callback);

Route::options($uri, $callback);

কখনও কখনও পরিস্থিতি দেখা দেয় যখন আপনাকে এমন একটি রুট নিবন্ধন করতে হবে যা একাধিক HTTP ক্রিয়াকে সাড়া দেয় এবং এটি match() পদ্ধতি ব্যবহার করে অর্জন করা যেতে পারে। কখনও কখনও আপনি একটি নোড নিবন্ধন করতে চান যা সমস্ত http ক্রিয়াগুলির প্রতিক্রিয়া জানায় তাই আমরা any() পদ্ধতি ব্যবহার করি।

  1. Route::match(['get''post'], '/'function () {  
  2. //  
  3. });  
  4. Route::any('/'function ()   
  5. {  
  6. //  
  7. })  

দুটি সর্বাধিক ব্যবহৃত রুট পদ্ধতি হল:

Redirect() method

Redirect() মেথড একটি ইউআরএল থেকে অন্য ইউআরএলে নেভিগেট করতে ব্যবহার করা হয়। এই পদ্ধতিটি একটি ইউআরআই থেকে অন্য ইউআরআইতে যাওয়ার জন্য একটি সুবিধাজনক বা শর্টকাট উপায় প্রদান করে। এই পদ্ধতির সাহায্যে আপনাকে সম্পূর্ণ রুট সংজ্ঞায়িত করতে হবে না।

redirect() পদ্ধতি ব্যবহার করার দুটি উপায় রয়েছে।

প্রথম উপায় হল get() পদ্ধতিতে redirect() পদ্ধতি ঘোষণা করা।

  1. <?php  
  2. Route::get('hello'function () {  
  3.     return redirect('/');  
  4. })  

দ্বিতীয় উপায় হল redirect() মেথড সরাসরি অ্যাক্সেস করা।

  1. <?php  
  2. Route::redirect('hello','/');  

উপরের ক্ষেত্রে উভয় রুটই /hello থেকে রুট ডিরেক্টরিতে নেভিগেট করছেi.e., '/'

View() method

View() মেথড অন্য ইউআরএলের ভিউ রিটার্ন করতে ব্যবহার করা হয়।

  1. <?php  
  2. Route::get('/'function () {  
  3.     return view('welcome');  
  4. });  
  5. <?php  
  6. Route::view('/','welcome');  

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

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

Leave a Comment