Skip to content

Controller

Der Zweck von Controllern ist es, die Funktionalität der Anwendung nach bestimmten Kriterien zu organisieren. Die Methoden eines Controllers werden durch Routen über URLs ansprechbar gemacht. Zum Beispiel könnte die Klasse ProductController alle Methoden enthalten, die Requests zum Model Product verarbeiten.

Deklaration

Controller liegen im Ordner app/Controllers und erben von der abstrakten Klasse RHRZ\Framework\Controller. Der Klassenname muss mit dem Suffix Controller enden.

php
namespace App\Controllers;

use RHRZ\Framework\Attributes\Route;
use RHRZ\Framework\Controller;
use RHRZ\Framework\Enums\HTTP;

class ProductController extends Controller
{
    #[Route(HTTP::GET, 'products/:id/edit')]
    public function edit($id)
    {
        // ...
    }
}

Das Attribut über der Methode show definiert eine Route für diese Methode. Die Parameter der Methode werden beim Aufruf durch das Framework mit den Werten der variablen Routensegmente befüllt. Die Namen der Parameter müssen hierbei nicht zwingend denen der Route entsprechen, lediglich die Reihenfolge ist entscheidend.

Workflow

todo