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 :
- Nucleo_Configuration_Authentication → lê a sessão conf_authentication
- Nucleo_Configuration_Database → lê a sessão conf_database
- Nucleo_Configuration_Path → lê a sessão conf_path
- Nucleo_Configuration_Router → lê a sessão conf_router
- 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:
Postar um comentário