Nitelikler

Bir yönlendirme kuralına atanabilecek nitelikler aşağıdaki gibidir.

Router sınıfı bu nitelikler dışındaki tanımlamaları tanımayacaktır. Bu nitelikler dışındaki tanımlamalar özel bir yazım biçimi ile mümkündür.

Nitelik tanımlamak

Nitelik tanımlamaları yapabilmek için girilen niteliğin başında $ sembolü kullanılmalıdır.

home: 
    path: /
    handler: App\Controller\DefaultController::index
    $variable:
        - test attribute

Tanımlanan niteliğin değeri $route->getAttribute() metodu ile alınır.

if ($route = $router->matchRequest()) {
    print_r($route->getAttribute('variable'); // array(test attribute)
}

Gruplar

user/:
    $variable: test pipe attribute
    middleware: 
        - App\Middleware\Auth
    dummy:
        path: /dummy/<str:name>
        handler: App\Controller\UserController::dummy
    lucky:
        path: /lucky/<str:name>/<slug:slug>
        handler: App\Controller\DefaultController::lucky

Eğer nitelik bir yönlendirme gurubu için tanımlanmışsa niteliğin değeri $pipe->getAttribute() metodu ile alınır.

$router->matchRequest();
if ($pipe = $router->getMatchedPipe()) {
    echo $pipe->getAttribute('variable'); // test pipe attribute
}