১. Blade টেমপ্লেটিং দিয়ে ভিউ তৈরি
Blade কী?
Blade হলো লারাভেলের টেমপ্লেটিং ইঞ্জিন, যা HTML এর সাথে পিএইচপি কোড মিশিয়ে ডায়নামিক ভিউ তৈরি করতে ব্যবহৃত হয়। এটি সহজ, পড়তে সুবিধাজনক এবং শক্তিশালী।
কী করতে হবে?
- ভিউ ফাইল তৈরি:
resources/viewsফোল্ডারে একটি নতুন ফাইল তৈরি করুন, নাম দিনwelcome.blade.php।- নিম্নলিখিত কোড যোগ করুন:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Welcome to Laravel</title> </head> <body> <h1>Hello, {{ $name }}!</h1> <p>Welcome to your first Laravel Blade view.</p> </body> </html>
- রাউটে ভিউ রিটার্ন করা:
routes/web.phpফাইলটি খুলুন এবং নিম্নলিখিত রাউট যোগ করুন:use Illuminate\Support\Facades\Route; Route::get('/welcome', function () { return view('welcome', ['name' => 'Laravel Learner']); });
- সার্ভার চালান:
- টার্মিনালে
php artisan serveকমান্ড চালান। - ব্রাউজারে
http://localhost:8000/welcomeওপেন করুন। আপনি দেখবেন: "Hello, Laravel Learner!"।
- টার্মিনালে
কেন করতে হবে?
- Blade ভিউ ব্যবহার করে আপনি সহজেই ডায়নামিক কনটেন্ট (যেমন:
$name) রেন্ডার করতে পারেন। এটি HTML কোডকে পিএইচপির সাথে মিশিয়ে ইউজার ইন্টারফেস তৈরি করে। {{ $name }}ব্যবহার করে Blade স্বয়ংক্রিয়ভাবে ডাটা এস্কেপ করে, যা XSS (Cross-Site Scripting) আক্রমণ থেকে সুরক্ষা দেয়।
Blade এর বেসিক ডিরেক্টিভ:
- লুপ:
@foreach ($users as $user) <p>{{ $user }}</p> @endforeach - কন্ডিশন:
@if ($name == 'Laravel Learner') <p>Welcome, Learner!</p> @else <p>Hello, Guest!</p> @endif - লেআউট ইনক্লুড:
@include('header')
কেন এটি গুরুত্বপূর্ণ?
Blade টেমপ্লেটিং শিখলে আপনি আপনার অ্যাপ্লিকেশনের ফ্রন্ট-এন্ড ডিজাইন করতে পারবেন। এটি সহজে ডাটা প্রদর্শন এবং পুনরায় ব্যবহারযোগ্য লেআউট তৈরির সুবিধা দেয়।
২. কন্ট্রোলার ব্যবহার
কন্ট্রোলার কী?
কন্ট্রোলার হলো লারাভেলের একটি ক্লাস যা ইউজার রিকোয়েস্ট হ্যান্ডল করে এবং ভিউ বা ডাটা রিটার্ন করে। এটি MVC আর্কিটেকচারের "C" (Controller) অংশ।
কী করতে হবে?
- কন্ট্রোলার তৈরি:
- টার্মিনালে নিম্নলিখিত Artisan কমান্ড চালান:
php artisan make:controller WelcomeController - এটি
app/Http/Controllers/WelcomeController.phpফাইল তৈরি করবে।
- টার্মিনালে নিম্নলিখিত Artisan কমান্ড চালান:
- কন্ট্রোলারে মেথড যোগ করা:
WelcomeController.phpফাইলটি খুলুন এবং নিম্নলিখিত কোড যোগ করুন:namespace App\Http\Controllers; use Illuminate\Http\Request; class WelcomeController extends Controller { public function show() { return view('welcome', ['name' => 'Laravel Learner']); } }
- রাউট আপডেট করা:
routes/web.phpফাইলে পূর্বের রাউটটি আপডেট করুন:use App\Http\Controllers\WelcomeController; Route::get('/welcome', [WelcomeController::class, 'show']);
- চেক করুন:
- সার্ভার চালু করুন (
php artisan serve) এবংhttp://localhost:8000/welcomeওপেন করুন। ফলাফল একই থাকবে।
- সার্ভার চালু করুন (
কেন করতে হবে?
- কন্ট্রোলার ব্যবহার করে আপনি রাউট ফাইলে লজিক লেখার পরিবর্তে সংগঠিতভাবে কোড লিখতে পারেন। এটি কোডকে পরিষ্কার এবং রক্ষণাবেক্ষণযোগ্য করে।
- কন্ট্রোলার MVC প্যাটার্নের মাধ্যমে রিকোয়েস্ট এবং রেসপন্স ম্যানেজ করে।
৩. মডেল ব্যবহার
মডেল কী?
মডেল হলো লারাভেলের একটি ক্লাস যা ডাটাবেসের টেবিলের সাথে সংযোগ স্থাপন করে। এটি Eloquent ORM (Object-Relational Mapping) ব্যবহার করে ডাটাবেস অপারেশন সহজ করে।
কী করতে হবে?
- মডেল এবং মাইগ্রেশন তৈরি:
- একটি
Userমডেল এবং সংশ্লিষ্ট মাইগ্রেশন তৈরি করুন:php artisan make:model User -m - এটি
app/Models/User.phpএবংdatabase/migrations/xxxx_create_users_table.phpফাইল তৈরি করবে।
- একটি
- মাইগ্রেশন ফাইল কনফিগার করা:
database/migrations/xxxx_create_users_table.phpফাইলটি খুলুন এবং নিম্নলিখিত কোড দিয়ে আপডেট করুন:use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamps(); }); } public function down() { Schema::dropIfExists('users'); } }
- ডাটাবেস মাইগ্রেট করা:
.envফাইলে ডাটাবেস কনফিগারেশন চেক করুন (যেমন: MySQL সেটিংস)।- মাইগ্রেশন চালান:
php artisan migrate - এটি ডাটাবেসে
usersটেবিল তৈরি করবে।
কেন করতে হবে?
- মডেল ব্যবহার করে আপনি ডাটাবেসের সাথে অবজেক্ট-অরিয়েন্টেড উপায়ে কাজ করতে পারেন। Eloquent ORM কোয়েরি লেখা সহজ করে।
- মাইগ্রেশন ডাটাবেস স্কিমা ম্যানেজ করার জন্য ব্যবহৃত হয়, যা ডাটাবেস টেবিল তৈরি এবং আপডেট করতে সাহায্য করে।
৪. ডাটাবেসের সাথে কাজ
কী করতে হবে?
- ডাটাবেসে ডাটা যোগ করা:
WelcomeController.phpফাইলে নিম্নলিখিত মেথড যোগ করুন:use App\Models\User; public function addUser() { $user = new User(); $user->name = 'John Doe'; $user->email = 'john@example.com'; $user->save(); return 'User added successfully!'; }routes/web.phpফাইলে নতুন রাউট যোগ করুন:Route::get('/add-user', [WelcomeController::class, 'addUser']);- ব্রাউজারে
http://localhost:8000/add-userওপেন করুন। এটি ডাটাবেসে একটি নতুন ইউজার যোগ করবে।
- ডাটাবেস থেকে ডাটা প্রদর্শন:
WelcomeController.phpফাইলে নিম্নলিখিত মেথড যোগ করুন:public function showUsers() { $users = User::all(); return view('users', ['users' => $users]); }resources/views/users.blade.phpফাইল তৈরি করুন এবং নিম্নলিখিত কোড যোগ করুন:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Users List</title> </head> <body> <h1>Users</h1> <ul> @foreach ($users as $user) <li>{{ $user->name }} ({{ $user->email }})</li> @endforeach </ul> </body> </html>routes/web.phpফাইলে নতুন রাউট যোগ করুন:Route::get('/users', [WelcomeController::class, 'showUsers']);- ব্রাউজারে
http://localhost:8000/usersওপেন করুন। এটি ডাটাবেসের সকল ইউজারের তালিকা দেখাবে।
কেন করতে হবে?
- ডাটাবেসের সাথে কাজ করা ওয়েব অ্যাপ্লিকেশনের মূল অংশ। Eloquent ORM ব্যবহার করে আপনি সহজে ডাটা যোগ, পড়া, আপডেট এবং মুছতে পারেন।
- এই ধাপটি আপনাকে ডাটাবেস এবং ভিউয়ের মধ্যে সংযোগ স্থাপন করতে শেখায়।
৫. পরবর্তী পদক্ষেপ
- এই টিউটোরিয়ালে আপনি Blade টেমপ্লেটিং, কন্ট্রোলার, মডেল এবং ডাটাবেসের বেসিক ব্যবহার শিখেছেন।
- পরবর্তীতে শিখুন:
- ফর্ম তৈরি এবং ডাটা ভ্যালিডেশন।
- অথেনটিকেশন সিস্টেম (লগইন, রেজিস্ট্রেশন)।
- ডাটাবেস রিলেশনশিপ (One-to-Many, Many-to-Many)।
টিপস
- প্র্যাকটিস করুন: প্রতিটি ধাপ হাতেকলমে টাইপ করে চালান।
- ডকুমেন্টেশন পড়ুন: laravel.com/docs এ Blade, Eloquent এবং কন্ট্রোলারের বিস্তারিত তথ্য পাবেন।
- ডাটাবেস চেক করুন: MySQL ওয়ার্কবেঞ্চ বা phpMyAdmin ব্যবহার করে ডাটাবেসে ডাটা চেক করুন।
- ত্রুটি হলে ডিবাগ করুন: ত্রুটি মেসেজ পড়ুন এবং সমাধানের জন্য Google বা Stack Overflow ব্যবহার করুন।