PradoSoft

Pt:Configuracao das aplicacoes

From PRADO Wiki

Voltar à página principal

Configurações da Aplicação

As configurações da aplicação são usadas para especificar o comportamento global de uma aplicação. Elas incluem especificação de path alises, namespaces usados, configurações de módulos e serviços, e parâmetros.

A configuração para uma aplicação é contida em um arquivo XML chamado "application.xml", que deve estar localizado no diretório base da aplicação. Seu formato é mostrado a seguir:


 
<application PropertyName="PropertyValue" ...>
  <paths>
    <alias id="AliasID" path="AliasPath" />
    <using namespace="Namespace" />
  </paths>
  <modules>
    <module id="ModuleID" class="ModuleClass"  PropertyName="PropertyValue" ... />
  </modules>
  <services>
    <service id="ServiceID" class="ServiceClass" PropertyName="PropertyValue" ... />
  </services>
  <parameters>
    <parameter id="ParameterID" class="ParameterClass" PropertyName="PropertyValue" ... />
  </parameters>
</application>
  • O primeiro elemento mais à esquerda "<application>" correponde à instância de um "TApplication". O par 'PropertyName="PropertyValue" especifica os valores iniciais para as propriedades do "TApplication".

As principais propriedades aqui definidas são:

id="sigla_da_aplicação"

e

mode="Off|Debug|Normal|Performance"

Onde Off permite que a aplicação fique indisponível para qualquer utilizador, Debug permite que avisos (warnings) e erros sejam mostrados configurando assim uma típica situação de desenvolvimento, Normal indica um estado em que a aplicação pode ser considerada estável e por fim Performance que representa que a aplicação está em produção (estável e segura).

Observe-se também que em modo Debug, o prado registra no log de aplicação (registro do estado da aplicação que é escrito no diretório runtime) os avisos e erros que por ventura forem emitidos, o que não ocorre no modo Normal. Outra observação importante é que de forma padrão uma aplicação prado gera cache das classes de objetos e arquivos que estão sendo acessados (páginas ou includes) e isto é constantemente verificado com o confronto do timestamp do arquivos de classes ou includes solicitados contra os arquivos que estão no cache. Em modo Performance esta checagem é desligada e é por esse exato motivo que o modo se chama 'performance', aludindo ao fato de que a execução da aplicação se torna realmente mais rápida.

  • O elemento "<paths>" contém a definição dos path-aliases e dos paths-de-inclusão PHP para a Aplicação. Cada path-alias é especificado por uma tag "<alias>" em cuja o atributo "path" recebe um path absoluto ou um path particular ou um path relativo ao diretório que contém o arquivo de configuração da aplicação. A tag "<using>" especifica um Namespace, que é um path particular para ser incluído ao paths de inclusão (include_path) do PHP quando a aplicação rodar. O PRADO define dois aliases padrão: "System" e "Application". O primeiro refere-se ao diretório do framework PRADO, e o segundo refere-se ao diretório que contém o arquivo de configuração da aplicação.

Neste ponto é conveniente ater-se a duas definições:

Alias - é um 'apelido' para algum recurso. Neste caso o recurso em questão é um diretório.

Namespace - Um namespace no PRADO é considerado um diretório contendo um ou mais arquivos de definição de classes.

Qual das tags você deve utilizar? A resposta é uma questão de estar atento a conveniência ou comodidade que se quer obter no futuro. Em geral, se você utiliza <using> você está indicando para sua aplicação em quais diretórios deverá ocorrer a busca automática de um arquivo de definição de classe, via 'include_path' do PHP, sem que seja necessário você explicitamente ter que fazer um include ou require dentro do programa. Esta é uma comodidade bastante desejável.

  • O elemento "<modules>" contém a configuração para a lista de módulos. Cada módulo é especificado por um elemento "<module>". Cada módulo é unicamente identificado pelo atributo "id" e é do tipo "class". O par 'PropertyName="PropertyValue" especifica os valores iniciais para as propriedades do módulo.
  • O elemento "<services>" é similar ao elemento "<modules>". É especifica principalmente os serviços disponibilizadospara a aplicação.
  • O elemento "<parameters>" contém uma lista de parâmetros de nível de aplicação que são acessíveis de qualquer lugar na aplicação. Você pode especificar parâmetros com tipo componentes como especificando módulos, ou você pode especificar parâmetros com tipo string que recebe o formato simplificado como segue:
    <parameter id="ParameterID" value="ParameterValue" />
    Note que, se o atributo "value" não for especificado, todo o nó do parâmetro XML (de tipo "TXmlElement") será retornado como o valor do parâmetro. Adicionalmente, o módulo "System.Util.TParameterModule" disponibiliza um meio para carregar os parâmetros de um arquivo XML externo. Veja maiores detalhes na documentação API.

A especificação completa das configurações da aplicação podem ser encontradas nos arquivos DTD e XSD.

Por padrão, se não for explicitada uma configuração, a aplicação PRADO quando for rodada, irá rodar alguns poucos módulos do núcleo, como o "THttpRequest", "THttpResponse", etc. Isto também disponibilizará o "TPageService" como serviço padrão.

A configuração e uso destes módulos e serviços são cobertos em sessões individuais neste tutorial. Note que, se sua aplicação usa atribuições-padrão para estes módulos e serviços, você não precisa dispor de um arquivo de configuração da aplicação. No entanto, se estes módulos e serviços não são suficientes, ou você precisa mudar seu comportamento pela configuração de suas propriedades, você precisará de um arquivo de configuração da aplicação.

Personal tools
Your user name:

Your password:

MediaWiki