FastSitePHP\Route

When [$app->get()], [$app->post()] and other methods are called a new Route Object is created.

Código Fonte

GitHub

Código de Exemplo

Utilize Filtros de Rota

// Rotas podem ter funções filtro personalizadas atribuídas a elas para
// rodar códigos específicos se uma rota for correspondida, realizar
// validação ou outra tarefa requisitada pelo seu site. Funções Filtro rodam
// somente se a rota corresponder a URL requisitada.

// Definir algumas funções callback/closure
$text_response = function() use ($app) {
    $app->header('Content-Type', 'text/plain');
};
$is_authenticated = function() {
    // Verificar Permissões de Usuário ...
    return true;
};

// Quando rotas são criadas [get(), route(), post(), etc], a rota criada é
// retornada para que você possa chamar [filter()] depois de definir a rota.
// Esta página será retornada como Texto Puro por que a função filtro define
// o Cabeçalho de Resposta e não retorna valor.
$app->get('/text-page', function($name) {
    return 'Olá';
})->filter($text_response);

// Uma rota pode ter múltiplos filtros e para clareza você pode colocar
// funções filtro em linhas separadas. Esta página será somente chamada se
// [$is_authenticated] retornar [true] e isso for também uma resposta em
// texto.
$app->get('/secure-text-page', function($name) {
    return 'Olá ' . $name;
})
->filter($is_authenticated)
->filter($text_response);

// A função [filter()] também aceita uma string representando uma classe e
// método no formato de 'Classe.método'.
$app->get('/phpinfo', function($name) {
    phpinfo();
})
->filter('Env.isLocalhost');

// Quando usar filtros de string, você pode especificar um namespace raiz
// para as classes utilizando a propriedade de App [middleware_root].
$app->middleware_root = 'App\Middleware';

Propriedades

Nome Tipo de Dados Padrão Descrição
pattern string null URL Pattern to match for the route to get called
controller string
\Closure
null Controller Closure function or string that refers to a class or class and method.
method string null Request Method to match ['GET', 'POST', etc]
filter_callbacks array [] Array of filter functions for the route

Métodos

filter($callback)

Add a filter function to the route. If the route is matched then all filter functions for it are called. If one or more of the filter functions returns [false] then the route is skipped. Filter functions are not required to return anything. If a filter function returns a Response Object then it will be sent to the client and the controller for the route will not be called.

Retorna: $this