লারাভেল পিএইচপি ফ্রেমওয়ার্ক
  • ভূমিকা
  • ইন্সটলেশন
  • বেসিক রাউটিং
  • ভিউ
  • ব্লেড টেমপ্লেট
  • কন্ট্রোলার
  • মাইগ্রেশন
  • মডেল
  • মধ্যবর্তী প্রোজেক্ট - ১
    • পরিবেশ তৈরি
    • লারাভেল ইন্সটল ও প্রোজেক্ট শুরু
    • সিড ও ইনডেক্স পেইজ
    • লিঙ্ক ও সিঙ্গেল পেইজ
  • মিডলওয়্যার
  • মধ্যবর্তী প্রোজেক্ট - ২
  • এডভান্স রাউটিং
  • বেটার লারাভেল ইনভায়রনমেন্ট সেটআপ
    • ইনভায়রনমেন্ট ডিটেকশন
    • কনফিগারেশন ম্যানেজমেন্ট ফর মাল্টিপল ইনভায়রনমেন্ট
    • স্ট্রাকচারিং প্রজেক্ট কোডস
    • সেটিং আপ ম্যানড্রীল ফর ইমেইল ট্রান্সপোর্ট
    • সেটিং আপ কনফাইড ফর অথেনটিকেশন
    • সেটিং আপ কিউ উইথ beanstalkd and supervisord
  • প্যাকেজ ডেভেলপমেন্ট
  • ইভেন্ট ব্রডকাস্টিং
  • চলবে
Powered by GitBook
On this page
  • রাউট প্যারামিটার
  • রেগুলার এক্সপ্রেশন

এডভান্স রাউটিং

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

আপনি চাইলে রাউটে বিভিন্ন প্যারামিটার পাঠাতে পারেন। মনে করুন আপনি user এর id প্যারামিটার URL থেকে নিতে চাচ্ছেন , সেক্ষেত্রে নিচের মত করে রাউট লিখতে পারেন।

Route::get('user/{id}', function ($id) {
    return 'User '.$id;
});

এখানে দেখুন get এর প্রথম আর্গুমেন্ট এ কার্লি ব্যাকেট/দ্বিতীয় বন্ধনী এর ভেতরে id লেখা হয়ে্ছে এবং দ্বিতীয় আর্গুমেন্ট এ ক্লোজারের মধ্যে যে ভ্যারিয়েবল/আর্গুমেন্ট পাস করা হয়েছে তা User এর সাথে যুক্ত করে রিটার্ন করা হয়েছে।

যদি আপনি ক্লোজার ব্যবহার না করে কন্টোলার ব্যবহার করে থাকেন তবে আপনার কন্টোলারের মেথডে নিচের মত করে আর্গুমেন্ট যোগ করুন।

// controller method
public function show($id)
{
  return "User ".$id;
}

// route
Route::get('/user/{id}','SomeController@show');

এই জাতীয় রাউট এর ক্ষেত্রে প্যারামিটার ব্যধ্যতামুলক। যদি প্যারামিটার ব্যধ্যতামুলক না করতে চান তাহলে get এর প্রথম আর্গুমেন্ট এ কার্লি ব্যাকেট/দ্বিতীয় বন্ধনী এর ভেতরে id লেখা হয়ে্ছে তার শেষে এটি ? যুক্ত করুন। এবং দ্বিতীয় আর্গুমেন্ট এ ক্লোজারের মধ্যে যে ভ্যারিয়েবল/আর্গুমেন্ট পাস করা হয়েছে তার জন্য ডিফল্ট ভ্যালু ডিফাইন করে দিন।

Route::get('user/{id?}', function ($id=1) {
    return 'User '.$id;
});
// controller method
public function show($id=1)
{
  return "User ".$id;
}

// route
Route::get('/user/{id?}','SomeController@show');

রেগুলার এক্সপ্রেশন

আপনি চাইলে রেগুলার এক্সপ্রেশন দিয়ে রাউট লিখতে পারেন। Route ক্লাসের where মেথড ব্যবহার করে প্যারামিটার এর সাথে রেগুলার এক্সপ্রেশন যুক্ত করে দিতে পারেন।

Route::get('user/{name}', function ($name) {
    return $name;
})
->where('name', '[A-Za-z]+');

Route::get('user/{name}/post/{id}', function ($name,$id) {
    return $name."'s post ".$id;
})
->where(['name'=> '[A-Za-z]+','id'=>'[0-9]+']);
Previousমধ্যবর্তী প্রোজেক্ট - ২Nextবেটার লারাভেল ইনভায়রনমেন্ট সেটআপ

Last updated 6 years ago