🎯 Cél:
Megérteni, miért érdemes külön fájlban kezelni a logikát, és hogyan hozunk létre controllert, ami a route-okhoz kapcsolódik.
🧩 1. Mi az a Controller?
A Controller (vezérlő) az az elem, ami:
fogadja a kérést a route-tól,
feldolgozza az adatot, és
visszaadja a választ (pl. szöveget vagy view-t).
💬 Másképp:
A route csak „ajtó”, a controller az, aki „válaszol”.
🧱 2. Controller létrehozása
A Laravelben az artisan parancs segít új controller létrehozásában:
php artisan make:controller HomeController
Ez létrehoz egy fájlt itt:
app/Http/Controllers/HomeController.php
🧠 3. A létrehozott controller tartalma
Ha megnyitod a fájlt, ezt látod:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
//
}
Ez az alap sablon.
Most tegyünk bele egy egyszerű metódust:
public function index()
{
return "Hello, ez a Controllerből jön!";
}
🧭 4. Route összekapcsolása a controllerrel
Nyisd meg a routes/web.php fájlt, és cseréld le a korábbi route-ot erre:
use App\Http\Controllers\HomeController;
use Illuminate\Support\Facades\Route;
Route::get('/', [HomeController::class, 'index']);
🧩 Itt azt mondod a Laravelnek:
Ha a felhasználó a / (főoldal) útvonalat hívja meg,
akkor futtasd a HomeController → index() metódust.
🧪 5. Próbáld ki
Futtasd:
php artisan serve
Nyisd meg:
👉 http://localhost:8000
Kimenet:
Hello, ez a Controllerből jön!
🎉 Működik!
Most már nem a web.php fájlban van a logika, hanem külön fájlban — tisztább, rendezettebb, skálázhatóbb.
🧩 6. További metódusok a controllerben
Egy controllerben több metódus is lehet.
Például:
public function udvozlet($nev)
{
return "Szia, $nev!";
}
Majd a route-ban:
Route::get('/udvozlet/{nev}', [HomeController::class, 'udvozlet']);
Most:
👉 http://localhost:8000/udvozlet/Zsömle
Eredmény:
Szia, Zsömle!
🧩 7. Paraméterek és logika
public function osszead($a, $b)
{
$eredmeny = $a + $b;
return "A két szám összege: $eredmeny";
}
Route:
Route::get('/osszead/{a}/{b}', [HomeController::class, 'osszead']);
👉 http://localhost:8000/osszead/5/7