Kursy i Poradniki IT - Adrian Kowalski
Kurs Programowania PHP dla Początkujących
O lekcji

Frameworki PHP to narzędzia, które pomagają w organizowaniu kodu, zarządzaniu bazą danych, tworzeniu routingu i obsłudze żądań HTTP. Laravel i Symfony to dwa najpopularniejsze frameworki PHP, które są szeroko stosowane w dużych aplikacjach webowych.

Laravel

Laravel to framework PHP, który oferuje szeroką gamę narzędzi, takich jak system routingu, ORM (Eloquent), autentykację, testowanie oraz wiele innych. Jest uważany za jeden z najłatwiejszych frameworków do nauki i używania, dzięki swojej intuicyjnej składni.

Kluczowe cechy Laravel:

  • Routing: Umożliwia przypisanie URL do odpowiednich funkcji kontrolera.
  • Eloquent ORM: Zapewnia prosty sposób na interakcję z bazą danych.
  • Blade: Silnik szablonów, który umożliwia tworzenie dynamicznych widoków.
  • Migrations: Narzędzia do zarządzania strukturą bazy danych.
  • Artisan: CLI (Interfejs wiersza poleceń) do wykonywania różnych zadań (np. generowanie kodu, migracje).

Do czego służy Laravel?

  • Tworzenie aplikacji webowych.
  • Obsługa baz danych.
  • Obsługa zapytań HTTP.
  • Autentykacja użytkowników.
  • Budowanie API.

Przykład kontrolera w Laravel

// app/Http/Controllers/StronaController.php
namespace AppHttpControllers;

use Illuminate\Http\Request;

class StronaController extends Controller {
    public function powitanie() {
        return "Witamy w Laravel!";
    }
}

// routes/web.php
Route::get('/powitanie', [StronaController::class, 'powitanie']);

Symfony

Symfony to framework, który skupia się na dużych, rozbudowanych projektach. Jest bardziej skoncentrowany na czystym kodzie, skalowalności i standardach. Symfony jest często wykorzystywane do tworzenia aplikacji zorientowanych na usługi, a także API.

Kluczowe cechy Symfony:

  • Routing: Konfigurowanie tras (URL) i przypisywanie ich do akcji kontrolera.
  • Doctrine ORM: Rozbudowany mechanizm do obsługi baz danych.
  • Twig: Silnik szablonów.
  • Flex: Umożliwia dodawanie nowych komponentów w prosty sposób.
  • Komponenty Symfony: Możliwość wykorzystania samych komponentów Symfony, np. komponenty do routingu, formularzy, sesji, itp.

Do czego służy Symfony?

  • Tworzenie dużych aplikacji.
  • Budowanie aplikacji złożonych z usług.
  • Obsługa HTTP, RESTful API, CLI.

Przykład kontrolera w Symfony

// src/Controller/StronaController.php
namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;

class StronaController extends AbstractController {
    public function powitanie(): Response {
        return new Response("Witamy w Symfony!");
    }
}

// config/routes.yaml
powitanie:
    path: /powitanie
    controller: AppControllerStronaController::powitanie