Versão 2.0.4

A versão 2.0.4 está disponível para download no seguinte link : http://code.google.com/p/sifraphp/downloads/list . Esta versão conta com muitas novidades :

  • Agora trabalha com URL amigáveis  -  é preciso o mod_rewrite
  • Utiliza o PDO na camada Model
  • Provê uma interface para helpers ( util para uso nas views )
  • Implementa uma interface de configuração, dessa forma é possivel realizar as configurações dos aplicativos através de arquivos .ini
  • Disponibiliza uma interface de configuração - para criar classes de configuração personalizadas
  • Disponibiliza uma interface para scripts (usado para a geração de componentes de interface)
  • Conta com um sistema de autenticação
  • Controle de exceções com geração de logs
  • Provê suporte ao desenvolvimento baseado em componentes

Uma das novidades é que agora é possível configurar a aplicação através de arquivos INI. Abaixo segue uma tabela explicativa dos parâmetros aceitáveis.



conf_database
Sessão de configuração de banco de dados
rdbms
Servidor de banco de dados. Este podem ser : mysql, sqlite, firebird. Mssql, sybase, pgsql, dblib
host
Localização do servidor de banco de dados, ou pasta onde estará localizado o arquivo de dados (sqlite)
Port
Porta do servidor de banco de dados. Não é necessário para rdbms sqlite
User
Usuário do servidor. Não é necessário para rdbms sqlite
Pass
Senha de usuário. Não é necessário para rdbms sqlite
Database
Base de dados que será utilizado na aplicação. No caso de rdbms sqlite é necessário informar o nome do arquivo
conf_path
Sessão de configuração de localizações
base_application
URI da aplicação
js_path
Nome das pastas de javascripts. O nome definido será subpasta de View
css_path
Nome das pastas de folhas de estilo. O nome definido será subpastas de View
img_path
Nome das pastas de imagens. O nome definido será subpasta de View
module_path
Nome da pasta de repositório de módulos
component_path
Localização da pasta raiz dos componentes
helper_path
Localização da pasta raiz dos helpers
conf_router
Sessão de configuração do roteador
default_module
Nome do modulo inicial da aplicação
default_controller
Nome do controlador padrão
default_action
Nome da ação padrão
template_name
Extensão dos arquivos de template
log_in_file
Se 1 as exceções serão lançadas em arquivos de log
log_path
Localização da pasta de logs


A conf_authetication, sessão de autenticação segue a sintaxe abaixo:
Para melhor visualização a tabela segue algumas diretivas :
Nome do usuário será representado por nuser.
Nome do módulo será representado por nmod
Nome do controlador será representado por nctr
Nome da ação será representado por nact


*.nuser = allow
NomeDoModulo acessível a todos os usuários
Nuser.nmod = allow
Nuser tem acesso completo ao modulo nmod
Nuser.nmod.nctr = allow
Nuser tem acessa completo ao controlador nctr
Nuser.nmod.nctr.nact = allow

Nuser acessa apenas a acao nact pertencente ao controlador nctr do modulo nmod



Após a configuração inicial devemos ler as configuração acima. Utilizamos as classes de configuração provida pelo SifraPHP para tal tarefa. Existem 5 classes de configuração, são elas :

  1. Nucleo_Configuration_Authentication → lê a sessão conf_authentication
  2. Nucleo_Configuration_Database → lê a sessão conf_database
  3. Nucleo_Configuration_Path → lê a sessão conf_path
  4. Nucleo_Configuration_Router → lê a sessão conf_router
  5. Nucleo_Configuration_Configuration → lê todas as sessões


As classes de configuração acima implementam uma interface chamada Nucleo_Configuration. Esta interface descreve um único método chamado setConfiguration que recebe como parâmetro uma string com o nome do arquivo de configuração.
Todas essas sessões podem estar localizada no mesmo arquivo de configuração ou em arquivos distintos.

Além disso foi removido os módulos de UI, estes serão a partir de agora, distribuídos como componentes. Em breve estarei disponibilizando alguns componentes como exemplo.
Outra novidade refere-se a camada View que pode contar com helpers, estes helpers devem implementar a interface Nucleo_Helper, com o método publico execute($params). Os helpers ajudam com tarefas comuns e bem específicos para a camada view.


Em breve estarei postando como utilizar alguns recursos !

Obrigado e até a próxima !

Nenhum comentário: