লারাভেল রাউট এবং লারাভেল ভিউ সম্পর্কে আজকের আর্টকেল।
একটা প্রশ্ন দিয়েই শুরু করি। ইন্টারনেটে আমাদের ওয়ার্ক সাইকেলটা কেমন হয়?
প্রথমে আমরা কিছু টাইপ করে URL এ অর্থাৎ সার্চ বারে সার্চ করি। তারপর আমাদের সামনে কিছু কনটেন্ট বা তথ্য চলে আসে। সেই কনটেন্ট গুলিই আমরা দেখতে পাই। তাইতো? তাহলে এবার খেয়াল করুন।
লারাভেল রাউট
- লারাভেল এর ভাষায় রাউট হচ্ছে URL । তাহলে একটি URL তৈরী করতে হলে একটি রাউট তৈরী করতে হবে। আর রাউট তৈরি করা হয়ে গেলে ইউজার সেটি লিখে URL এ সার্চ করতে পারবে। সার্চ করলেই কি দেখা যাবে? হ্যাঁ, যদি ভিউ তৈরি করা থাকে তাহলে দেখা যাবে। প্রশ্ন হচ্ছে ভিউ কি?
লারাভেল ভিউ
এপ্লিকেশন বা ওয়েবসাইটে আমরা যা কিছু দেখতে পাই তাই লারাভেল ভিউ। হোম পেইজ একটি ভিউ, ব্লগ পেইজ একটি ভিউ, আবাউট পেইজ একটি ভিউ। এভাবে অনেক অনেক ভিউ তৈরি করতে হয় একটি ওয়েবসাইটের জন্য। এখন প্রশ্ন হলো ভিউ তৈরি করবো কিভাবে?
এপ্লিকেশনের
resources/views
ডিরেক্টরিতে গিয়ে ফাইল তৈরি করলে ভিউ তৈরি হয়ে যায়। যেমন:welcome.php
,blog.php
,about.php
,contact.php
ইত্যাদি। এখন এই ভিউ গুলো ব্রাউজ করার জন্য URL অর্থাৎ রাউট তৈরি করতে হবে।
বেসিক রাউটিং
- রাউট তৈরি করার জন্য এপ্লিকেশনের
routes
ফোল্ডারের মধ্যেweb.php
ফাইল এর মধ্যে কোড লিখতে হয়। তো চলুন একটি রাউট তৈরি করি।
Route::get('/', function()
{
return view('welcome');
});
এখানে
Route
হচ্ছে ক্লাস এবংget()
হচ্ছেRoute
ক্লাসের একটি মেথড।এখানে
get()
মেথড দুইটি আর্গুমেন্ট গ্রহণ করে। প্রথম আর্গুমেন্ট '/' দ্বারা URL এবং দ্বিতীয় আর্গুমেন্ট ক্লোজার অর্থাৎ ফাংশন গ্রহণ করে।প্রথম আর্গুমেন্ট
'/'
এর ফরওয়ার্ড স্লাশ অর্থ হচ্ছে মেইন ডোমেইন অর্থাৎ রুট ডোমেইন এবং দ্বিতীয় আর্গুমেন্ট ফাংশন দ্বারা একশন সম্পাদিত হয়।ভিউ মেথড
view()
এর মাধ্যমেwelcome.php
ফাইলের কনটেন্ট দেখা যাবে।
কয়েকটি বেসিক রাউট
চলুন আরো কিছু রাউট তৈরি করি। ফলে আপনাদের বুঝতে সহজ হবে।
//Route for Blog Page
Route::get('/blog', function()
{
return view('blog');
});
//Route for About Page
Route::get('/about', function()
{
return view('about');
});
//Route for Contact Page
Route::get('/contact', function()
{
return view('contact');
});
http://yourDomain .com/blog
লিখে এড্রেসবারে হিট করলেblog.php
ফাইলের কনটেন্ট শো করবে। আবারhttp://yourDomain .com/about
লিখে এড্রেসবারে হিট করলেabout.php
ফাইলের কনটেন্ট শো করবে। তো চলুন একটি উদাহরণ দেখা যাক।
ভিউ ফাইল ব্রাউজারে দেখা
- আমরা আগেই জেনেছি যে ভিউ ফাইল গুলো
resources/views
ডিরেক্টরিতে থাকে। আমরাabout.php
ভিউ এর ভেতরে কিছু কন্টেন্ট রাখার জন্য ফাইলটি ওপেন করে একটি হেডিং লিখি।
<html>
<body>
<h1> শিখুন.নেট ব্লগ থেকে </h1>
</body>
</html>
- এখন এই ভিউ এর জন্য একটি রাউট তৈরি করলেই URL কাজ করবে। about পেজের রাউট টি আবার লিখি।
Route::get('/about', function()
{
return view('about');
});
- এখন যদি yourDomain .com/about লিংক ব্রাউজ করে তাহলে "শিখুন.নেট ব্লগ থেকে" টেক্সট টি দেখতে পাবেন।
ভিউ ফাইলের মধ্যে ডাটা পাস করা
- ভিউ ফাইলের মধ্যে ডাটা পাস করার জন্য মেথডের দ্বিতীয় প্যারামিটার এর প্রয়োজন হয়। দ্বিতীয় প্যারামিটারে
array
পাস করতে হয়।
<html>
<body>
<h1> My Name is <?php echo $name;?> </h1>
</body>
</html>
- এখন এই ভিউ ব্রাউজারে দেখতে হলে নিচের রাউট টি লিখতে হবে।
Route::get('/about', function()
{
return view('about', ['name' => 'Nayem']);
});
ভিউস ডিরেক্টরির মধ্যে সাব ডিরেক্টরি
- ভিউস ডিরেক্টরির মধ্যে সাব-ডিরেক্টরি থাকতে পারে। উদাহরণ হিসেবে বলা যায় আপনি যদি ভিউ ফাইলটিকে নিচের ডিরেক্টরিতে রাখেন:
resources/views/admin/profile.php
তাহলে আপনাকে নিম্নের ন্যায় ভিউ মেথডটিকে কল করতে হবে:
Route::get('/about', function()
{
return view('admin.profile', ['name' => 'Nayem']);
});
এর মেথড সমূহ
- http রিকুয়েস্ট এবং রেসপন্স করার জন্য এই ৬ ধরনের মেথড ব্যবহার করা যায়। এই মেথড গুলো সম্পর্কে যথাযথ জ্ঞান রাখা উচিৎ ।
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::options($uri, $callback);
Route::match ($uri, $callback);