Vissza a kezdő oldarra

Laravel Route – Oktatóanyag


Laravel projekt létrehozása

Nyisd meg a CMD vagy PowerShell programot és navigálj a web szerver gyökér mappájába:

cd C:\xampp\htdocs

Laravel projekt létrehozása:

composer create-project laravel/laravel projekt_neve

Projekt indítása

Artisan szerver (Fejlesztéshez ajánlott)

cd C:\xampp\htdocs\projekt_neve
php artisan serve

Projekt elérése:

http://127.0.0.1:8000

Apache webszerver (XAMPP)

Indítsd el az Apache-t, majd nyisd meg:

http://localhost/projekt_neve/public

A public/index.php a belépési pont.


Fontos Laravel mappák

routes/web.php               → Route-ok
resources/views/            → Nézetek (blade sablonok)
app/Http/Controllers/       → Controllerek
public/                     → Publikus állományok
.env                        → Környezeti beállítások

Route-ok létrehozása (View visszaadással)

Egy Blade állomány helye:

resources/views/page1.blade.php
resources/views/page2.blade.php
resources/views/page3.blade.php

web.php tartalma:


use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});

Route::get('/page1', function () {
    return view('page1');
});

Route::get('/page2', function () {
    return view('page2');
});

Route::get('/page3', function () {
    return view('page3');
});

Elérés:

http://localhost/projekt/public/page1
http://localhost/projekt/public/page2
http://localhost/projekt/public/page3
            
        
Tipp !!!

Ha a linek megnyitásakor ( http://localhost/projekt/public/page1 ) "404 NotFound" hibaüzenetet látsz és a következő link ( http://localhost/routelearn/public/index.php/page2 ) menyitásakor minden rendben akkor a következő beállításokat kell eszközölnöd.

Engedélyezni kell Apache-ban a rewrite modult. (Terminálba futtasd a következő parancsokat.)

sudo a2enmod rewrite
sudo systemctl restart apache2

Majd szerkeszd az Apache configot:

sudo nano /etc/apache2/apache2.conf

Keresd meg ezt:


<Directory /var/www/>
    AllowOverride None
</Directory>

És írd át erre:


<Directory /var/www/>
    AllowOverride All
</Directory>

Mentd el a config fájlt, majd futtasd a következő parancsot terminálba.

sudo systemctl restart apache2

Most már működni fog az alábbi link is: (http://localhost/routelearn/public/page2)


Controller használata

Controller létrehozása:

php artisan make:controller PageController

Létrejön:

app/Http/Controllers/PageController.php

Tartalma:

class PageController extends Controller {
    public function welcome(){ return view('welcome'); }
    public function page1(){ return view('page1'); }
    public function page2(){ return view('page2'); }
    public function page3(){ return view('page3'); }
}

web.php route-ok controllerrel:

use App\Http\Controllers\PageController;
Route::get('/', [PageController::class,'welcome']);
Route::get('/page1', [PageController::class,'page1']);
Route::get('/page2', [PageController::class,'page2']);
Route::get('/page3', [PageController::class,'page3']);

Route paraméter átadással

routes/web.php:

Route::get('/page3/{id}', [PageController::class,'page3']);

Controller: app/Http/Controllers/PageController.php

public function page3($id){
    return view('page3', ['id' => $id]);
}

View (page3.blade.php):

Paraméter: $ id