Lista de Classes
- App\Middleware\Cors
- App\Middleware\Auth
- App\Middleware\Env
- AppMin
- Application
- Route
- Data\Database
- Data\Db2Database
- Data\OdbcDatabase
- Data\Validator
- Data\KeyValue\SqliteStorage
- Data\Log\FileLogger
- Data\Log\HtmlLogger
- Encoding\Base64Url
- Encoding\Json
- Encoding\Utf8
- Environment\DotEnv
- Environment\System
- FileSystem\Search
- FileSystem\Security
- FileSystem\Sync
- Lang\I18N
- Lang\L10N
- Lang\Time
- Media\Image
- Net\Config
- Net\Email
- Net\HttpClient
- Net\HttpResponse
- Net\IP
- Net\SmtpClient
- Security\Crypto
- Security\Password
- Security\Crypto\Encryption
- Security\Crypto\FileEncryption
- Security\Crypto\JWT
- Security\Crypto\PublicKey
- Security\Crypto\Random
- Security\Crypto\SignedData
- Security\Web\CsrfSession
- Security\Web\CsrfStateless
- Security\Web\RateLimit
- Web\Request
- Web\Response
FastSitePHP\Route
When [$app->get()], [$app->post()] and other methods are called a new Route Object is created.
Código Fonte
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