ITGenius24 Logo

Sunday, November 23, 2025 01:44 AM

লারাভেল টিউটোরিয়াল: Blade টেমপ্লেটিং, কন্ট্রোলার, মডেল এবং ডাটাবেসের সাথে কাজ : পর্ব-03

লারাভেল টিউটোরিয়াল: Blade টেমপ্লেটিং, কন্ট্রোলার, মডেল এবং ডাটাবেসের সাথে কাজ : পর্ব-03

১. Blade টেমপ্লেটিং দিয়ে ভিউ তৈরি

Blade কী?

Blade হলো লারাভেলের টেমপ্লেটিং ইঞ্জিন, যা HTML এর সাথে পিএইচপি কোড মিশিয়ে ডায়নামিক ভিউ তৈরি করতে ব্যবহৃত হয়। এটি সহজ, পড়তে সুবিধাজনক এবং শক্তিশালী।

কী করতে হবে?

  1. ভিউ ফাইল তৈরি:
    • 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>
      
  2. রাউটে ভিউ রিটার্ন করা:
    • routes/web.php ফাইলটি খুলুন এবং নিম্নলিখিত রাউট যোগ করুন:
      use Illuminate\Support\Facades\Route;
      
      Route::get('/welcome', function () {
          return view('welcome', ['name' => 'Laravel Learner']);
      });
      
  3. সার্ভার চালান:
    • টার্মিনালে 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) অংশ।

কী করতে হবে?

  1. কন্ট্রোলার তৈরি:
    • টার্মিনালে নিম্নলিখিত Artisan কমান্ড চালান:
      php artisan make:controller WelcomeController
      
    • এটি app/Http/Controllers/WelcomeController.php ফাইল তৈরি করবে।
  2. কন্ট্রোলারে মেথড যোগ করা:
    • WelcomeController.php ফাইলটি খুলুন এবং নিম্নলিখিত কোড যোগ করুন:
      namespace App\Http\Controllers;
      
      use Illuminate\Http\Request;
      
      class WelcomeController extends Controller
      {
          public function show()
          {
              return view('welcome', ['name' => 'Laravel Learner']);
          }
      }
      
  3. রাউট আপডেট করা:
    • routes/web.php ফাইলে পূর্বের রাউটটি আপডেট করুন:
      use App\Http\Controllers\WelcomeController;
      
      Route::get('/welcome', [WelcomeController::class, 'show']);
      
  4. চেক করুন:
    • সার্ভার চালু করুন (php artisan serve) এবং http://localhost:8000/welcome ওপেন করুন। ফলাফল একই থাকবে।

কেন করতে হবে?

  • কন্ট্রোলার ব্যবহার করে আপনি রাউট ফাইলে লজিক লেখার পরিবর্তে সংগঠিতভাবে কোড লিখতে পারেন। এটি কোডকে পরিষ্কার এবং রক্ষণাবেক্ষণযোগ্য করে।
  • কন্ট্রোলার MVC প্যাটার্নের মাধ্যমে রিকোয়েস্ট এবং রেসপন্স ম্যানেজ করে।

৩. মডেল ব্যবহার

মডেল কী?

মডেল হলো লারাভেলের একটি ক্লাস যা ডাটাবেসের টেবিলের সাথে সংযোগ স্থাপন করে। এটি Eloquent ORM (Object-Relational Mapping) ব্যবহার করে ডাটাবেস অপারেশন সহজ করে।

কী করতে হবে?

  1. মডেল এবং মাইগ্রেশন তৈরি:
    • একটি User মডেল এবং সংশ্লিষ্ট মাইগ্রেশন তৈরি করুন:
      php artisan make:model User -m
      
    • এটি app/Models/User.php এবং database/migrations/xxxx_create_users_table.php ফাইল তৈরি করবে।
  2. মাইগ্রেশন ফাইল কনফিগার করা:
    • 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');
          }
      }
      
  3. ডাটাবেস মাইগ্রেট করা:
    • .env ফাইলে ডাটাবেস কনফিগারেশন চেক করুন (যেমন: MySQL সেটিংস)।
    • মাইগ্রেশন চালান:
      php artisan migrate
      
    • এটি ডাটাবেসে users টেবিল তৈরি করবে।

কেন করতে হবে?

  • মডেল ব্যবহার করে আপনি ডাটাবেসের সাথে অবজেক্ট-অরিয়েন্টেড উপায়ে কাজ করতে পারেন। Eloquent ORM কোয়েরি লেখা সহজ করে।
  • মাইগ্রেশন ডাটাবেস স্কিমা ম্যানেজ করার জন্য ব্যবহৃত হয়, যা ডাটাবেস টেবিল তৈরি এবং আপডেট করতে সাহায্য করে।

৪. ডাটাবেসের সাথে কাজ

কী করতে হবে?

  1. ডাটাবেসে ডাটা যোগ করা:
    • 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 ওপেন করুন। এটি ডাটাবেসে একটি নতুন ইউজার যোগ করবে।
  2. ডাটাবেস থেকে ডাটা প্রদর্শন:
    • 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 ব্যবহার করুন।