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.
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