Ad Code

Responsive Advertisement

🐱‍👤 Laravel - Controller

📘 Laravel Controller



Controllers in Laravel help organize logic by grouping request handling into a single class following the MVC (Model-View-Controller) design pattern.

✅ What is a Controller?

A controller is a PHP class in app/Http/Controllers that handles HTTP requests and returns responses.

🛠️ Creating a Controller

php artisan make:controller SampleController

This creates: app/Http/Controllers/SampleController.php

📄 Basic Structure

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class SampleController extends Controller
{
    public function index()
    {
        return view('welcome');
    }
}
  

📌 Types of Controllers

  • Basic Controller – Simple class with methods
  • Resource Controller – Full CRUD controller
  • Invokable Controller – One-method controller
php artisan make:controller ProductController --resource
php artisan make:controller SingleActionController --invokable

🔄 Mapping Controller to Routes

In routes/web.php:

use App\Http\Controllers\SampleController;

Route::get('/sample', [SampleController::class, 'index']);
  

Resource Route:

Route::resource('products', ProductController::class);
  

📥 Passing Data to Views

public function index()
{
    $name = "John";
    return view('home', ['name' => $name]);
}
  

In Blade View:

<h1>Hello, {{ '{{ $name }}' }}</h1>

🧪 Example: Full CRUD Controller

class ProductController extends Controller
{
    public function index() {
        // Show all products
    }

    public function create() {
        // Show create form
    }

    public function store(Request $request) {
        // Save new product
    }

    public function show($id) {
        // Show one product
    }

    public function edit($id) {
        // Show edit form
    }

    public function update(Request $request, $id) {
        // Update product
    }

    public function destroy($id) {
        // Delete product
    }
}
  

🧰 Dependency Injection

public function store(Request $request)
{
    return $request->all();
}
  

📘 Summary Table

Feature Command/Syntax
Create Controller php artisan make:controller
Resource Controller --resource
Invokable Controller --invokable
Routing Route::get() / Route::resource()
Return View return view('name')
Inject Request function(Request $req)

Post a Comment

0 Comments