> ## Documentation Index
> Fetch the complete documentation index at: https://kawax.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Request lifecycle

> Leer hoe HTTP-requests en consolecommando's in een Laravel-applicatie worden verwerkt.

## Inleiding

Als je begrijpt hoe Laravel werkt, voelt het framework minder als magie. Deze pagina geeft een overzicht van de belangrijkste stappen bij HTTP-requests en consolecommando's.

## HTTP-request lifecycle

```mermaid theme={null}
flowchart TD
    A[Browser/HTTP-request] --> B[public/index.php]
    B --> C[Composer-autoloader laden]
    C --> D[bootstrap/app.php]
    D --> E[Applicatie en service container maken]
    E --> F[HTTP-kernel]
    F --> G[Bootstrappers uitvoeren]
    G --> H[Service providers registreren en booten]
    H --> I[Middleware-stack]
    I --> J[Routing]
    J --> K[Controller of closure uitvoeren]
    K --> L[Response maken]
    L --> I
    I --> M[Response naar browser sturen]
```

Alle requests komen binnen via `public/index.php`. De webserver stuurt de request daarheen. Het bestand laadt de Composer-autoloader en haalt de Laravel-applicatie op uit `bootstrap/app.php`.

De HTTP-kernel verwerkt de request met de applicatie-instantie. Bootstrappers configureren onder andere error handling, logging en de omgeving. Daarna worden de service providers geregistreerd en geboot.

### Middleware en routing

Middleware leest en schrijft bijvoorbeeld de [HTTP-session](https://laravel.com/docs/session), controleert maintenance mode en beschermt requests tegen CSRF. Vervolgens geeft de router de request door aan de passende route of controller.

Wanneer de route een response oplevert, loopt die response opnieuw door de middleware-stack naar buiten. De kernel geeft de response aan de applicatie, die hem naar de browser stuurt.

## Console command lifecycle

Het `artisan`-bestand is het entrypoint voor consolecommando's. Net als bij HTTP-requests worden eerst de Composer-autoloader en de applicatie geladen. De console-kernel registreert en boot service providers, laadt commando's en voert het gekozen commando uit.

```shell theme={null}
php artisan make:controller UserController
```

De stappen zijn:

1. `artisan` laadt de Composer-autoloader.
2. `bootstrap/app.php` maakt de applicatie.
3. De console-kernel laadt service providers.
4. Laravel zoekt en voert `make:controller` uit.
5. Het commando geeft een exitcode terug.

## Service providers

Service providers vormen de kern van de bootstrapfase. Laravel instantieert alle providers, roept eerst `register` aan en roept daarna `boot` aan nadat alle bindings geregistreerd zijn. Providers van de applicatie en packages staan in `bootstrap/providers.php`.

| Methode    | Moment                                    | Doel                                                    |
| ---------- | ----------------------------------------- | ------------------------------------------------------- |
| `register` | Nadat alle providers zijn geïnstantieerd  | Alleen bindings in de service container registreren     |
| `boot`     | Nadat alle `register`-methodes klaar zijn | View composers, event listeners en andere initialisatie |

<Warning>
  Registreer geen routes, event listeners of andere functionaliteit in `register`. Afhankelijkheden van providers kunnen dan nog niet beschikbaar zijn.
</Warning>

<Card title="Service container" icon="box" href="https://laravel.com/docs/container">
  Leer hoe dependency injection en de service container werken.
</Card>


## Related topics

- [Installatie](/nl/installation.md)
- [Wat is Laravel?](/nl/introduction.md)
- [Een custom provider voor de AI SDK maken](/nl/advanced/ai-sdk-custom-provider.md)
- [Nieuwe functies in Laravel 13](/nl/blog/laravel-13-new-features.md)
