Route

class AeonDigital\EnGarde\Config\Route
Implementação de Config\iRoute.
Parent

AeonDigital\BObject

Implements

AeonDigital\EnGarde\Interfaces\Config\iRoute

Used traits

AeonDigitalHttpTraitsMimeTypeData AeonDigitalTraitsMainCheckArgumentException

Properties

Methods

public AeonDigital\EnGarde\Config\Route::getApplication()
Retorna o nome da aplicação que está sendo executada.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getNamespace()
Retorna a namespace completa do controller que está respondendo a requisição.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getController()
Retorna o nome do controller que possui a action que deve resolver a rota.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getControllerNamespace()
Retorna a namespace completa do controller que deve responder a esta
requisição.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getResourceId()
Retorna o Id do recurso que esta rota representa.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getAction()
Retorna o nome da action que resolve a rota.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getAllowedMethods()
Retorna os métodos Http que podem ser usados para esta mesma rota.
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Route::getAllowedMimeTypes()
Retorna um array associativo contendo a coleção de mimetypes que esta rota é capaz de
devolver como resposta.
Esperado array associativo onde as chaves devem ser os valores abreviados (mime) e os
valores correspondem ao nome completo do (mimetype).

Ex:
```
[ "txt" => "text/plain", "xhtml" => "application/xhtml+xml" ]
```
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Route::getMethod()
Retorna o método Http que está sendo usado para evocar esta rota.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getRoutes()
Retorna um array contendo todas as rotas que respondem a esta mesma configuração.
As rotas devem sempre ser definidas de forma relativa à raiz (começando com "/").
Nesta coleção, o nome da aplicação não deverá estar presente pois deve replicar o padrão
definido nos controllers.
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Route::getActiveRoute($withApplicationName=false)
Retorna a rota base que está sendo utilizada.
Parameters
  • ‹ bool › $withApplicationName
    Quando true irá adicionar o nome da aplicação atual na primeira partícula da rota em si.

Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getIsUseXHTML()
Retorna true caso aplicação deve priorizar o uso do mime xhtml sobre o html.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Route::getRunMethodName()
Retorna o nome do método que deve ser executado na classe da Aplicação para resolver a rota.
Se não for definido deve retornar run como valor padrão.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getCustomProperties()
Resgata um array associativo contendo propriedades customizadas para o processamento
da rota.
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Route::getIsAutoLog()
Retorna true caso a atividade desta rota deva ser registrada no log do sistema.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Route::getDescription()
Retorna uma descrição sobre a ação executada por esta rota.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getDevDescription()
Retorna uma descrição técnica para a rota.
O formato MarkDown pode ser utilizado.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getRelationedRoutes()
Retorna uma coleção de rotas e/ou URLs que tem relação com esta.
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Route::getMiddlewares()
Retorna a coleção de nomes de Middlewares que devem ser executados durante o
processamento da rota alvo.
Cada item do array refere-se a um método existente na classe da aplicação que retorna uma
instância do Middleware alvo.
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Route::getIsSecure()
Retorna true se a rota deve ser protegida pelo sistema de segurança da aplicação.
Uma rota definida como segura DEVE ter o sistema de cache desabilitado.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Route::getIsUseCache()
Retorna true se a rota possui um conteúdo cacheável.
Apenas retornará true se, alem de definido assim a propriedade cacheTimeout for
maior que zero, isSecure for false e o método que está sendo usado para responder
ao UA for HEAD ou GET.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Route::getCacheTimeout()
Retorna o tempo (em minutos) pelo qual o documento em cache deve ser armazenado até
expirar.
Um valor igual a 0 indica que o armazenamento não deve ser feito (tal qual se o sistema
de cache estivesse desativado).

Não deve existir uma forma de cache infinito.
Returns

‹ int ›

public AeonDigital\EnGarde\Config\Route::getResponseLocale()
Retorna o Locale a ser usado para resolver esta rota.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getResponseMime()
Retorna o Mime (extenção) a ser usado para resolver esta rota.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getResponseMimeType()
Retorna o MimeType (canônico) a ser usado para resolver esta rota.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::getResponseIsPrettyPrint()
Quando true indica que o código de retorno deve passar por algum tratamento que
facilite a leitura do mesmo por humanos.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Route::getResponseIsDownload()
Retorna true se o resultado da execução da rota deve ser uma resposta em formato de
download.
Returns

‹ bool ›

public AeonDigital\EnGarde\Config\Route::setResponseIsDownload($responseIsDownload)
Define se o resultado da execução da rota deve ser uma resposta em formato de download.
Parameters
  • ‹ bool › $responseIsDownload
    Use true para definir que o resultado a ser submetido ao UA é um download.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::negotiateLocale($requestLocales, $requestLanguages, $applicationLocales, $defaultLocale, $forceLocale)
Processa a negociação de conteúdo para identificar qual locale deve ser usado para
responder a esta rota.
Esta ação deve ser executada ANTES do processamento da rota para que tal resultado
seja conhecido durante sua execução.

Irá preencher o valor que deve ser retornado em $this->getResponseLocale().
Parameters
  • ‹ ?array › $requestLocales
    Coleção de Locales que o UA explicitou preferência.

  • ‹ ?array › $requestLanguages
    Coleção de linguagens em que o UA explicitou preferência.

  • ‹ ?array › $applicationLocales
    Coleção de locales usados pela Aplicação.

  • ‹ ?string › $defaultLocale
    Locale padrão da Aplicação.

  • ‹ ?string › $forceLocale
    Locale que terá prioridade sobre os demais podendo inclusive ser um que a aplicação não esteja apta a servir.

Returns

‹ bool ›
Retorna true caso tenha sido possível identificar o locale a ser usado.

public AeonDigital\EnGarde\Config\Route::negotiateMimeType($requestMimes, $forceMime)
Processa a negociação de conteúdo para identificar qual mimetype deve ser usado para
responder a esta rota.
Esta ação deve ser executada ANTES do processamento da rota para que tal resultado
seja conhecido durante sua execução.

Irá preencher os valores que devem ser retornados nos métodos $this->getResponseMime()
e $this->getResponseMimeType().
Parameters
  • ‹ ?array › $requestMimes
    Coleção de mimeTypes que o UA explicitou preferência.

  • ‹ ?string › $forceMime
    Mime que terá prioridade sobre os demais podendo inclusive ser um que a rota não esteja apta a utilizar.

Returns

‹ bool ›
Retorna true caso tenha sido possível identificar o mimetype a ser usado.

public AeonDigital\EnGarde\Config\Route::getResponseDownloadFileName()
Retorna o nome do documento que deve ser devolvido ao efetuar o download da rota.
Se nenhum nome for definido de forma explicita, este valor será criado a partir do nome da
rota principal.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::setResponseDownloadFileName($responseDownloadFileName)
Define o nome do documento que deve ser devolvido ao efetuar o download da rota.
Parameters
  • ‹ string › $responseDownloadFileName
    Nome do arquivo que será enviado ao UA como um download.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::getResponseHeaders()
Retorna a coleção de headers a serem enviados na resposta para o UA.
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Route::setResponseHeaders($responseHeaders)
Define uma coleção de headers a serem enviados na resposta para o UA.
As chaves de valores informadas devem ser tratadas em case-insensitive.
Parameters
  • ‹ array › $responseHeaders
    Array associativo [key => value] contendo a coleção de headers a serem enviados ao UA.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::addResponseHeaders($responseHeaders)
Adiciona novos itens na coleção de headers.
Parameters
  • ‹ array › $responseHeaders
    Array associativo [key => value] contendo a coleção de headers a serem enviados ao UA.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::getMasterPage()
Retorna o caminho relativo (a partir de appRootPath) até a master page que será
utilizada.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::setMasterPage($masterPage)
Define o caminho relativo (a partir de appRootPath) até a master page que será
utilizada.
Parameters
  • ‹ string › $masterPage
    Caminho relativo até a master page.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::getView()
Retorna o caminho relativo (a partir do diretório definido para as views) até a view
que será utilizada.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::setView($view)
Define o caminho relativo (a partir do diretório definido para as views) até a view
que será utilizada.
Parameters
  • ‹ string › $view
    Caminho relativo até a view.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::getStyleSheets()
Retorna uma coleção de caminhos até as folhas de estilos que devem ser incorporadas no
documento final (caso trate-se de um formato que aceita este tipo de recurso).
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Route::setStyleSheets($styleSheets)
Redefine toda coleção de caminhos até as folhas de estilos que devem ser incorporadas no
documento final (caso trate-se de um formato que aceita este tipo de recurso.)
Os caminhos dos CSSs devem ser relativos e iniciando a partir do diretório destinado
aos recursos HTML definidos em iApplicationConfig->getPathToViewsResources();.
Parameters
  • ‹ array › $styleSheets
    Coleção de folhas de estilos.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::addStyleSheets($styleSheets)
Adiciona novas folhas de estilo na coleção existente.
Os caminhos dos CSSs devem ser relativos e iniciando a partir do diretório destinado aos
recursos HTML definidos em iApplicationConfig->getPathToViewsResources();.
Parameters
  • ‹ array › $styleSheets
    Coleção de folhas de estilo a serem adicionadas na lista atual.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::getJavaScripts()
Retorna uma coleção de caminhos até as scripts que devem ser incorporadas no documento
final (caso trate-se de um formato que aceita este tipo de recurso).
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Route::setJavaScripts($javaScripts)
Redefine toda coleção de caminhos até as scripts que devem ser incorporadas no documento
final (caso trate-se de um formato que aceita este tipo de recurso.)
Os caminhos dos scripts devem ser relativos e iniciando a partir do diretório destinado aos
recursos HTML definidos em iApplicationConfig->setPathToViewsResources();.
Parameters
  • ‹ array › $javaScripts
    Coleção de scripts.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::addJavaScripts($javaScripts)
Adiciona novos scripts na coleção existente.
Os caminhos dos scripts devem ser relativos e iniciando a partir do diretório destinado aos
recursos HTML definidos em iApplicationConfig->setPathToViewsResources();.
Parameters
  • ‹ array › $javaScripts
    Coleção de scripts a serem adicionadas na lista atual.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::getMetaData()
Retorna a coleção de metadados a serem incorporados nas views X/HTML.
Returns

‹ array ›

public AeonDigital\EnGarde\Config\Route::setMetaData($metaData)
Redefinr a coleção de metadados a serem incorporados nas views X/HTML.
As chaves de valores informadas devem ser tratadas em case-insensitive.
Parameters
  • ‹ array › $metaData
    Array associativo [key => value] contendo a coleção de itens a serem adicionados na tag <head> em formato <meta name="key" content="value" />

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::addMetaData($metaData)
Adiciona novos itens na coleção existente.
Parameters
  • ‹ array › $metaData
    Array associativo [key => value] contendo a coleção de itens a serem adicionados na tag <head> em formato <meta name="key" content="value" />

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::getAppStage()
Retorna a etapa em que a aplicação se encontra.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::setAppStage($appStage)
Define a etapa em que a aplicação se encontra.
Esta propriedade permite configurar elementos X/HTML para apresentar ou não na tela
apenas aqueles que pertencem a etapa definida para esta rota.
Parameters
  • ‹ string › $appStage
    etapa atual da aplicação.

Returns

‹ void ›

public AeonDigital\EnGarde\Config\Route::getLocaleDictionary()
Retorna o caminho relativo (a partir de appRootPath) até o arquivo de legendas do locale
que será usado para responder a requisição.
Returns

‹ string ›

public AeonDigital\EnGarde\Config\Route::setLocaleDictionary($localeDictionary)
public AeonDigital\EnGarde\Config\Route::__construct($application, $namespace, $controller, $resourceId, $action, $allowedMethods, $allowedMimeTypes, $method, $routes, $activeRoute, $isUseXHTML, $runMethodName, $customProperties, $isAutoLog, $description, $devDescription, $relationedRoutes, $middlewares, $isSecure, $isUseCache, $cacheTimeout, $responseIsPrettyPrint=false, $responseIsDownload=false, $responseDownloadFileName=&#34;&#34;, $responseHeaders=[], $masterPage=&#34;&#34;, $view=&#34;&#34;, $styleSheets=[], $javaScripts=[], $metaData=[], $appStage, $localeDictionary=&#34;&#34;)
Inicia uma instância de configuração para a rota.
Parameters
  • ‹ string › $application
    Obrigatório. Nome da aplicação que está sendo executada.

  • ‹ string › $namespace
    Obrigatório. Namespace completa do controller que está respondendo a requisição.

  • ‹ string › $controller
    Obrigatório. Nome do controller que possui a action que deve resolver a rota.

  • ‹ string › $resourceId
    Obrigatório. Id do recurso que a rota representa.

  • ‹ string › $action
    Obrigatório. Nome da action que resolve a rota.

  • ‹ array › $allowedMethods
    Obrigatório. Métodos Http que podem ser usados para esta mesma rota.

  • ‹ array › $allowedMimeTypes
    Obrigatório. Array contendo a coleção de mimetypes que esta rota é capaz de devolver como resposta.

  • ‹ string › $method
    Obrigatório. Método Http que está sendo usado para evocar esta rota.

  • ‹ array › $routes
    Obrigatório. Coleção de rotas que correspondem a esta mesma configuração.

  • ‹ string › $activeRoute
    Obrigatório. Rota base que está sendo resolvida.

  • ‹ bool › $isUseXHTML
    Indica se a aplicação deve priorizar o uso do mime xhtml sobre o html.

  • ‹ string › $runMethodName
    Nome do método que deve ser executado na classe da Aplicação para resolver a rota.

  • ‹ array › $customProperties
    Coleção de propriedades customizadas da rota.

  • ‹ bool › $isAutoLog
    Indica se esta rota deve ter suas atividades registradas pelo sistema nativo de log.

  • ‹ string › $description
    Descrição sobre a ação executada por esta rota.

  • ‹ string › $devDescription
    Descrição técnica para a rota.

  • ‹ array › $relationedRoutes
    Coleção de rotas e/ou URLs que tem relação com esta.

  • ‹ array › $middlewares
    Coleção de nomes de Middlewares que devem ser executados durante o processamento da rota alvo.

  • ‹ bool › $isSecure
    Indica se a rota deve ser protegida pelo sistema de segurança da aplicação.

  • ‹ bool › $isUseCache
    Indica se a rota possui um conteúdo cacheável.

  • ‹ int › $cacheTimeout
    Tempo (em minutos) pelo qual o documento em cache deve ser armazenado até expirar.

  • ‹ bool › $responseIsPrettyPrint
    Indica quando o código de retorno deve ser tratado para facilitar a leitura por humanos.

  • ‹ bool › $responseIsDownload
    Indica se o resultado da execução da rota deve ser um download.

  • ‹ string › $responseDownloadFileName
    Nome do documento enviado por download.

  • ‹ array › $responseHeaders
    Coleção de headers a serem enviados para o UA.

  • ‹ string › $masterPage
    Caminho relativo (a partir de appRootPath) até a master page que será utilizada.

  • ‹ string › $view
    Caminho relativo (a partir do diretório definido para as views) até a view que será utilizada.

  • ‹ array › $styleSheets
    Coleção de folhas de estilo que devem ser vinculados na view.

  • ‹ array › $javaScripts
    Coleção de scripts que devem ser vinculados na view.

  • ‹ array › $metaData
    Coleção de metadados a serem incorporados na view X/HTML.

  • ‹ string › $appStage
    Nome da etapa em que a aplicação se encontra no momento.

  • ‹ string › $localeDictionary
    Caminho relativo (a partir de appRootPath) até o arquivo de legendas do locale que será usado para responder a requisição.

public static AeonDigital\EnGarde\Config\Route::fromArray($config)
Retorna uma instância configurada a partir de um array que contenha
as chaves correlacionadas a cada propriedade aqui definida.
Parameters
  • ‹ array › $config
    Array associativo contendo os valores a serem definidos para a instância.

Returns

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

Throws

‹ InvalidArgumentException ›
Caso seja definido um valor inválido.

public AeonDigital\EnGarde\Config\Route::toArray()
Converte as propriedades definidas neste objeto para um array associativo.
Returns

‹ array ›