App\Middleware\Env

Environment Middleware

This class is included with the starter site and provides a template with common options for environment middleware. Modify this class as needed for your site.

Example usage that only allows a route if the user is on a local network and then loads a [.env] file prior to the route running:

    $app->get('/url', 'Controller')
        ->filter('Env.isLocalNetwork')
        ->filter('Env.loadDotEnv');

Código Fonte

GitHub

Código de Exemplo

Starter Site Middleware


// The FastSitePHP Starter Site inclui várias páginas de exemplos e fornece uma
// estrutura básica de diretório / arquivo. O site foi projetado para fornecer
// estrutura para conteúdo básico (JavaScript, CSS etc.), mantendo um tamanho
// pequeno, para facilitar a remoção de arquivos desnecessários e a
// personalização para o seu site.
//
//     https://github.com/fastsitephp/starter-site
//
// As classes de Middleware são fornecidas e podem ser modificadas para
// o seu site.
//
// Para utilizá-las especifique 'Class.method' nas funções filtro da rota
// ou quando montando arquivos adicionais.

// Exige que um usuário esteja logado para utilizar uma página
$app->get('/secure-page', 'SecureController')->filter('Auth.hasAccess');

// Exige um usuário autenticado e utilize CORS
$app
    ->get('/api/:record_type', 'ApiController.getData')
    ->filter('Cors.acceptAuth')
    ->filter('Auth.hasAccess');

// Somente rode uma rota de localhost
$app->get('/server-info', function() {
    phpinfo();
})
->filter('Env.isLocalhost');

// Somente carregue um arquivo se estiver rodando à partir de localhost
$app->mount('/sysinfo/', 'routes-sysinfo.php', 'Env.isLocalhost');

Métodos

isLocalhost()

Return true if the request is running from localhost '127.0.0.1' (IPv4) or '::1' (IPv6) and if the web server is also running on localhost.

Retorna: bool

isLocalNetwork()

Return true if the web request is coming a local network. (for example 127.0.0.1 or 10.0.0.1).

Retorna: bool

isLocalFromProxy()

Return true if the web request is coming a local network and and a Proxy Server such as a Load Balancer is being used.

Retorna: bool

loadDotEnv(Application $app)

Loads environment variables from a [.env] file into [getenv()] and [$_ENV].