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
cd C:\xampp\htdocs\projekt_neve
php artisan serve
Projekt elérése:
http://127.0.0.1:8000
Indítsd el az Apache-t, majd nyisd meg:
http://localhost/projekt_neve/public
A public/index.php a belépési pont.
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
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
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 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']);
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