Server

class AeonDigital\EnGarde\Config\Server
Implementação de "ConfigiServer".
Parent

AeonDigital\BObject

Implements

AeonDigital\EnGarde\Interfaces\Config\iServer

Used traits

AeonDigitalTraitsMainCheckArgumentException AeonDigitalHttpTraitsHttpRawStatusCode

Properties

Methods

public AeonDigital\EnGarde\Config\Server::getNow()
Data e hora do momento em que a requisição que ativou a aplicação
chegou ao domínio.
Returns

‹ \DateTime ›

public AeonDigital\EnGarde\Config\Server::getVersion()
Resgata a versão atual do framework.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getServerVariables()
Resgata um array associativo contendo todas as variáveis definidas para o servidor no
momento atual. Normalmente retorna o conteúdo de $_SERVER.
Returns

‹ array ›
Será retornado [] caso nada tenha sido definido.

public AeonDigital\EnGarde\Config\Server::getRequestHeaders()
Baseado nos dados da requisição que está sendo executada.
Retorna uma coleção de headers Http definidos.
Returns

‹ array ›
Retornará [] caso nenhum seja encontrado.

public AeonDigital\EnGarde\Config\Server::getRequestHttpVersion()
Baseado nos dados da requisição que está sendo executada.
Retorna a versão do protocolo Http.
Returns

‹ string ›
Caso não seja possível identificar a versão deve ser retornado o valor 1.1.

public AeonDigital\EnGarde\Config\Server::getRequestUserAgent()
Resgata a identificação do UA que está executando esta requisição.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getRequestUserAgentIP()
Retorna o IP do UA que está executando esta requisição.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getRequestIsUseHttps()
Baseado nos dados da requisição que está sendo executada.
Indica se a requisição está exigindo o uso de Https.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Server::getRequestMethod()
Baseado nos dados da requisição que está sendo executada.
Retorna o método Http que está sendo usado.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getRequestProtocol()
Baseado nos dados da requisição que está sendo executada.
Retorna http ou https conforme o protocolo que está sendo utilizado pela
requisição.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getRequestDomainName()
Baseado nos dados da requisição que está sendo executada.
Retorna o nome do domínio onde o servidor está operando.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getRequestPath()
Baseado nos dados da requisição que está sendo executada.
Retorna a parte path da URI que está sendo executada.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getRequestPort()
Baseado nos dados da requisição que está sendo executada.
Retorna a porta Http que está sendo evocada.
Returns

‹ int ›

public AeonDigital\EnGarde\Config\Server::getRequestCookies()
Baseado nos dados da requisição que está sendo executada.
Retorna os cookies passados pelo UA em seu formato bruto.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getRequestQueryStrings()
Baseado nos dados da requisição que está sendo executada.
Retorna os querystrings definidos na URI em seu formato bruto.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getRequestFiles()
Baseado nos dados da requisição que está sendo executada.
Retorna um array de objetos que implementam AeonDigital\Interfaces\Stream\iFileStream
representando os arquivos que foram submetidos durante a requisição.
Returns

‹ array ›
Os arquivos são resgatados de $_FILES.

public AeonDigital\EnGarde\Config\Server::getCurrentURI()
Baseado nos dados da requisição que está sendo executada.
Retorna uma string que representa toda a URI que está sendo acessada no momento.

O resultado será uma string com o seguinte formato:

```
[ scheme ":" ][ "//" authority ][ "/" path ][ "?" query ]
```

Obs: A porção fragment, iniciada pelo caractere # não é utilizada.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getPostedData()
Resgata toda a coleção de informações passadas na requisição.
Concatena neste resultado as informações submetidas pelo UA.
Em caso de colisão de chaves de valores a ordem de prioridade de prevalencia será:

- requestRouteParans
Parametros nomeados na própria rota e identificados pelo processamento da mesma.
- $_POST
Parametros passados por POST.
- $_GET
Parametros passados por GET.
- "php://input"
Dados obtidos do stream bruto.

Não inclui valores passados via cookies.
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Server::getRootPath()
Retorna o endereço completo do diretório onde o domínio está sendo executado.
Se for definido um rootSubPath, este virá concatenado com este valor.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getRootSubPath()
Retorna o caminho (a partir da raiz do domínio) até o diretório onde a o framework
está rodando.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getForceHttps()
Indica que as requisições feitas para o domínio devem ser realizadas sob o protocolo
Https.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Server::getEnvironmentType()
Retorna o tipo de ambiente que o domínio está rodando no momento.
Valores Esperados:
- PRD : Production
- HML : Homolog
- QA : Quality Assurance
- DEV : Development
- LCL : Local
- UTEST : Unit Test
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getIsDebugMode()
Retorna true se o domínio está em modo de debug.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Server::getIsUpdateRoutes()
Retorna true se for para a aplicação alvo atualizar suas respectivas rotas.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Server::getHostedApps()
Retorna a coleção de nomes de aplicações instaladas no domínio
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Server::getDefaultApp()
Retorna o nome da aplicação padrão do domínio.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getDateTimeLocal()
Retorna o timezone do domínio.
[Lista de fusos horários suportados](http://php.net/manual/en/timezones.php)
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getTimeout()
Retorna o tempo máximo (em segundos) para a execução das requisições.
Returns

‹ int ›

public AeonDigital\EnGarde\Config\Server::getMaxFileSize()
Valor máximo (em Mb) para o upload de um arquivo.
Returns

‹ int ›

public AeonDigital\EnGarde\Config\Server::getMaxPostSize()
Valor máximo (em Mb) para a postagem de dados.
Returns

‹ int ›

public AeonDigital\EnGarde\Config\Server::getPathToErrorView($fullPath=false)
Resgata o caminho até a view que deve ser enviada ao UA em caso de
erros no domínio.
Parameters
  • ‹ bool › $fullPath
    Se false retornará o caminho relativo. Quando true deverá retornar o caminho completo.

Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getPathToHttpMessageView($fullPath=false)
Resgata o caminho relativo até a view que deve ser enviada ao UA em caso de necessidade
de envio de uma simples mensagem Http.
Parameters
  • ‹ bool › $fullPath
    Se false retornará o caminho relativo. Quando true deverá retornar o caminho completo.

Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getApplicationClassName()
Resgata o nome da classe responsável por iniciar a aplicação.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getApplicationName()
Retorna o nome da aplicação que deve responder a requisição Http atual.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getIsApplicationNameOmitted()
Indica quando na URI atual o nome da aplicação a ser executada está omitida. Nestes
casos a aplicação padrão deve ser executada.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Server::getApplicationNamespace()
Retorna o nome completo da classe da aplicação que deve ser instanciada para responder
a requisição atual.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getApplicationRequestUri()
Retorna a URI que está sendo requisitada em nível de aplicação, ou seja, irá SEMPRE
adicionar o nome da aplicação que está sendo chamada na primeira partícula da URI caso
ela esteja omitida.
Não irá retornar usar qualquer querystring da requisição, apenas a parte path.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getApplicationRequestFullUri()
Retorna a URI que está sendo requisitada em nível de aplicação, ou seja, irá SEMPRE
adicionar o nome da aplicação que está sendo chamada na primeira partícula da URI caso
ela esteja omitida e em adição, trará qualquer querystring definida originalmente na
requisição.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getNewLocationPath()
Pode retornar uma string para onde o UA deve ser redirecionado caso alguma das
configurações ou processamento dos presentes dados indique que tal redirecionamento
seja necessário.
Retorna '' caso nenhum redirecionamento seja necessário.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Server::getDeveloperHttpMethods()
Retorna a coleção de métodos Http que devem poder ser usados pelas actions.
Ou seja, aqueles que os desenvolvedores terão acesso de configurar.

Originalmente estes:
"GET", "POST", "PUT", "PATCH", "DELETE"
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Server::getFrameworkHttpMethods()
Retorna a coleção de métodos Http que devem poder ser controlados exclusivamente
pelo próprio framework.
Originalmente estes:
"HEAD", "OPTIONS", "TRACE", "DEV", "CONNECT"
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Server::__construct($serverVariables, $uploadedFiles, $engineVariables)
Inicia uma instância com os dados de configuração atual para o servidor Http.
Parameters
  • ‹ array › $serverVariables
    Array associativo contendo todas as variáveis definidas para o servidor no momento atual. Normalmente será o conteúdo de $_SERVER.

  • ‹ array › $uploadedFiles
    Coleção de arquivos que estão sendo submetidos na requisição. Deve ser um array compatível com a estrutura esperada do objeto $_FILES padrão.

  • ‹ array › $engineVariables
    Array associativo contendo todas as variáveis de configuração para o motor de aplicações que está sendo iniciado. São esperados, obrigatoriamente os seguintes valores:

    • bool forceHttps

    Indica se as requisições deste domínio devem ser feitos sob Https.

    • string rootPath

    Caminho completo até o diretório onde o domínio está sendo executado. Se não for definido, irá pegar o valor existente em DOCUMENT_ROOT.

    • string environmentType

    Tipo de ambiente que o domínio está rodando no momento.

    -bool isDebugMode Indica se o domínio está em modo de debug.

    • bool isUpdateRoutes

    Indica se a aplicação alvo da requisição deve atualizar suas respectivas rotas.

    • array hostedApps

    Array contendo o nomes das aplicações que estão instaladas no domínio.

    • string defaultApp

    Nome da aplicação padrão do domínio.

    • string dateTimeLocal

    Define o timezone do domínio.

    • int timeout

    Valor máximo (em segundos) para a execução das requisições.

    • int maxFileSize

    Valor máximo (em Mb) para o upload de um arquivo.

    • int maxPostSize

    Valor máximo (em Mb) para a postagem de dados.

    • string pathToErrorView

    Caminho relativo até a view que deve ser enviada ao UA em caso de erros no domínio.

    • string pathToHttpMessageView

    Caminho relativo até a view que deve ser enviada ao UA em caso de uma msg Http simples.

    • string applicationClassName

    Nome da classe responsável por iniciar a aplicação.

public AeonDigital\EnGarde\Config\Server::setHttpRawMessage()
Efetua as configurações necessárias para o manipulador básico de mensagens Http.
Returns

‹ void ›

public AeonDigital\EnGarde\Config\Server::setPHPConfiguration()
Efetua configurações para o PHP conforme as propriedades definidas para esta classe.
Esta ação só tem efeito na primeira vez que é executada.
Throws

‹ RunTimeException ›
Caso alguma propriedade obrigatória não tenha sido definida ou seja um valor inválido.

public AeonDigital\EnGarde\Config\Server::getHttpFactory()
Retorna um objeto iFactory.
Returns

‹ \AeonDigital\Interfaces\Http\iFactory ›

public AeonDigital\EnGarde\Config\Server::getServerRequest()
Retorna a instância iServerRequest a ser usada.
Returns

‹ \AeonDigital\Interfaces\Http\Message\iServerRequest ›

public AeonDigital\EnGarde\Config\Server::getApplicationConfig($config=[])
Retorna a instância Config\iApplication.
Parameters
  • ‹ array › $config
    Array associativo contendo as configurações para esta instância.

Returns

‹ \AeonDigital\EnGarde\Interfaces\Config\iApplication ›

public AeonDigital\EnGarde\Config\Server::getSecurityConfig($config=[])
Retorna a instância Config\iSecurity a ser usada.
Parameters
  • ‹ array › $config
    Array associativo contendo as configurações para esta instância.

Returns

‹ \AeonDigital\EnGarde\Interfaces\Config\iSecurity ›

public AeonDigital\EnGarde\Config\Server::getSecuritySession()
Retorna uma instância iSession para efetuar o controle de sessão
de UA dentro da aplicação.
Returns

‹ \AeonDigital\EnGarde\Interfaces\Engine\iSession ›

public AeonDigital\EnGarde\Config\Server::hasDefinedSecuritySettings()
Identifica se existem definições de seguranças.
Normalmente isto significa verificar se os métodos getSecurityConfig e
getSecuritySession estão, ambos, aptos a retornarem instâncias de suas respectivas
classes com as configurações correspondentes.
Returns

‹ bool ›
Retornará true caso as instâncias de segurança estejam definidas.

public AeonDigital\EnGarde\Config\Server::getRouteConfig($config=null, $isRaw=false)
Retorna a instância Config\iRoute a ser usada.
Parameters
  • ‹ array › $config
    Array associativo contendo as configurações para esta instância.

  • ‹ bool › $isRaw
    Quando true indica que o parametro passado em $config possui as informações necessárias para a criação do objeto iRoute, no entanto este precisa de algum tratamento especial antes da criação da instância.

Returns

‹ ?\AeonDigital\EnGarde\Interfaces\Config\iRoute ›

public AeonDigital\EnGarde\Config\Server::getRawRouteConfig()
Retorna os dados brutos referentes a rota que está sendo executada no momento.
Returns

‹ ?array ›

public AeonDigital\EnGarde\Config\Server::redirectTo($url, $code=302, $message="")
Redireciona o UA para a URL indicada.
Esta ação interrompe o script imediatamente após o redirecionamento.
Parameters
  • ‹ string › $url
    URL para onde o UA será redirecionado.

  • ‹ int › $code
    Código Http.

  • ‹ string › $message
    Mensagem Http. Se nenhuma for informada irá usar a mensagem padrão que corresponda ao código Http indicado.

Returns

‹ void ›

public static AeonDigital\EnGarde\Config\Server::fromArray($config)
Inicia uma nova instância Config\iServer.
Parameters
  • ‹ array › $config
    Array associativo contendo as configurações para esta instância. Esperado um array com 3 posições sendo: "SERVER" => Equivalente ao valor de $_SERVER "FILES" => Equivalente ao valor de $_FILES "ENGINE" => Contendo todos os valores obrigatórios para a configuração

    do motor da aplicação.

Returns

‹ \AeonDigital\EnGarde\Interfaces\Config\iServer ›