Moony
PHP Framework

Attributes

Přehled dostupných atributů pro kontrolery a metody v nich.

Route
Dostupné pouze pro metody.
RoutePrefix
Dostupné pouze pro třídy.
Auth
Pouze pro přihlášené, pro třídy i metody.
NotAuth
Pouze pro NEpřihlášené, pro třídy i metody.
AllowAnonymous
Přístup i pro nepřihlášené v případě [Auth] nad celým kontrolerem. Pouze pro metody.
Ajax
Povolí pouze AJAX request. Pouze pro metody.
Admin
Přístupno pouze pro administrátory. Pro třídy i metody.
SuperAdmin
Přístupno pouze pro Super administrátory. Pro třídy i metody.
#[NotAuth]
#[RoutePrefix('app')]
class LoginController
{
    #[Route('/login')]
    public function login() {}

    #[Ajax]
    #[Route('/login', RequestTypeEnum::POST)]
    public function loginPost() {}
}


#[Auth]
#[RoutePrefix('app')]
class HomeController
{
    #[Route('/home')]
    public function home() {}

    #[AllowAnonymous]
    #[Route('/visit')]
    public function visit() {}
}


#[Admin]
#[RoutePrefix('admin')]
class AdminController
{
    #[Admin(AdminRightsEnum::DASHBOARD_VIEW)]
    #[Route('/dashboard')]
    public function dashboard() {}
}


class AdminMultipleRightsExampleController
{
    // Práva v parameterech mezi sebou fungují jako OR operand, admin musí mít alespoň jedno
    #[Admin(AdminRightsEnum::DASHBOARD_VIEW, AdminRightsEnum::DASHBOARD_EDIT)]
    public function dashboard() {}
}

class AdminMultipleRightsExampleController
{
    // Takto fungují jako AND a uživatel musí mít obě práva
    #[Admin(AdminRightsEnum::DASHBOARD_VIEW)]
    #[Admin(AdminRightsEnum::DASHBOARD_EDIT)]
    public function dashboard() {}
}