Saiu a versão 1.3.5 do CakePHP
50 commits e quase 1 mês e meio depois, a equipe do CakePHP lançou ontem (24/10) a nova versão do framework, com alguns ajustes e algumas correções:
- Router agora manipula corretamente padrões para o parâmetro :action
- RequestHandlerComponent envia o content-type e o encoding de cabeçalhos para páginas html automaticamente
- Melhorias na compatibilidade com PostgreSQL 9
- Memcache Engine agora funciona certo com endereços ipv6
Mais informações no site do CakePHP. Baixe agora ou faça seu pull no Git.
Fonte: http://bakery.cakephp.org/articles/markstory/2010/10/24/cakephp_1_3_5_released
Plugin PassValidator para CakePHP
Uma das coisas que amedrontam desenvolvedores, principalmente de interfaces web, é controle de autenticação: registrar senhas, validar, autenticar um usuário, etc. No CakePHP existe o componente Auth, que cuida da autenticação de um usuário, mas essa autenticação precisa de senha e essa senha precisa ser válida, e muitas vez a tarefa de validar senha pode ser feita de várias maneiras. Pra facilitar isso, meu amigo Cauan Cabral, owner da Radig (www.radig.com.br), criou um plugin simples que ajuda na validação de senhas cadastradas.
O plugin consiste basicamente de um behavior que faz a tarefa de validação de senha conforme alguns parâmetros passados pelo desenvolvedor no seu model. Algumas opções default são:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Conforme o tipo de validação utilizada e as opções escolhidas pelo programador no model, algumas mensagens de erros são disparadas.
O plugin é open source e está disponível no Github : github.com/radig/pass_validator
Blog do Cauan Cabral: cauancabral.net/
Novidade no Comitiva: opção de envio de propostas de trabalho
Como foi combinado na última reunião do grupo PHPMS, o Zé Ricardo e eu ficamos de adicionar ao Comitiva a opção de envio de trabalhos para quem estiver interessado em apresentar uma palestra. Depois de um sábado de configurações para atualizar o repositório no Git e um domingo inteiro codando consegui complementar o controlador e as views que o Zé Ricardo havia criado. Uma nova rota de acesso para palestrantes (speaker) foi adicionada, bem como as views próprias para esse tipo de usuário.
É possível também os administradores do sistema realizarem a avaliação das propostas e a aprovação/rejeição destas propostas. Essas novas funcionalidades não estão totalmente finalizadas, ainda falta realizar o envio de e-mail com notificações sobre envio de proposta, avaliação ou aprovação de propostas, etc.
Aproveitando esse tópico pra dizer que o Git é na minha opinião uma das melhores ferramentas de controle de versão atual, principalmente quando se trabalha com projetos Open Source como o Comitiva.
Mais informações: wiki.github.com/CauanCabral/Comitiva
PHPMS: phpms.org
Zé Ricardo: www.josericardo.eti.br
Criando Plugins no CakePHP
Criar plugins para o CakePHP não e muito diferente de criar uma aplicação CakePHP. Os plugins nada mais são que elementos adicionais da aplicação CakePHP (models, views, controllers, behaviors, etc) e não é necessário criar o trio model-controller-view para que o plugin funcione, porém, conforme a necessidade do plugin, os elementos básicos de uma aplicação e outros elementos coadjuvantes (helpers, components, behaviors) poderão ser adicionados.
1. Criando o diretório do plugin
Numa aplicação aplicação CakePHP qualquer crie um diretório com o nome do plugin.
../plugins/nome_do_plugin
Use de preferência um nome em minúsculo, separando as palavras por underscore. Tenha certeza que o nome do plugin seja diferente do nome de algum controlador existente na aplicação. A hierarquia de diretórios segue o mesmo padrão de uma aplicação CakePHP
2 . Criando um controlador
Para que o plugin possa ser acessado por uma url, é necessária a criação de um controlador e algumas views. Antes de criar o controlador, um controlador base deve ser criado. No diretório do plugin, crie um arquivo chamado nome_do_plugin_app_controller.php com o seguinte conteúdo:
1 2 3 4 5 6 7 8 | <?php class NomeDoPluginAppController extends AppController { //algumas actions e callbacks } ?> |
Não é necessário colocar métodos no controlador, porém você poderá definir as ações que serão utilizadas apenas pelo plugin. Opcionalmente, caso haja necessidade de se usar models, crie um model base “nome_do_plugin_app_model.php”
1 2 3 4 5 6 7 8 | <?php class NomeDoPluginAppModel extends AppModel { //alguns métodos } ?> |
3. Criando controladores e views
Para criar os controllers do seu plugin, crie um diretório “controllers” no diretório do plugin. O nome do controlador não precisa do nome do plugin como prefixo, porém tente criar um nome particularmente único. O controlador deverá estender o controlador base do plugin:
1 2 3 4 5 6 7 8 | <?php class MeuControladorController extends NomeDoPluginAppController { //... } ?> |
O resto é o que normalmente é feito para se visualizar uma action. Crie um diretório “views/meu_controlador” para inserir as views das actions correspondentes.
Para adicionar um model de um plugin em sua aplicação, é necessário chamar o model com o nome do plugin prefixado, separado por “.” (ponto). Por exemplo, para chamar o model “Pie” do plugin “Bakery” no seu controlador, escreva:
1 2 3 |
Para adicionar outros componentes do plugin, adicione sempre o prefixo do nome do plugin separado por ponto.




Radig Soluções em TI