Marcio Trindade

cakePHP

Boas práticas para suas views com cakePHP

Se preferir você pode fazer o download do video aqui

Devido a dificuldade de alguns para trabalhar com helpers resolvi mostrar uma dica bem simples de boas práticas pra trabalhar com eles.

Neste vídeo mostro um exemplo para colocar um valor de um determinado objeto disponível em sua view no layout geral, isso normalmente ocorre por motivos de incompatibilidade com o layout. Já vi por ai algumas soluções que funcionam, mas de uma forma não tão clara, então vamos ao vídeo ver como apliquei esta técnica.


Criando um sistema de novidades

Esta semana eu não queria deixar passar sem gravar um novo vídeo falando sobre o cakePHP, por isso resolvi seguir alguns conselhos do pessoal da lista cakephp-br e gravar algo um pouco mais útil para o dia a dia.

Felizmente a semana passada foi uma correria por que troquei de mac e meu chefe veio dos US para resolver umas coisas do escritório, mas o lado ruim foi que não consegui tempo para gravar um vídeo, com a troca de mac e tendo de instalar todos programas de novo acabei optando por testar um novo que achei muito legal, espero que gostem também.


Entendendo a aplicação base com cakePHP

Hoje vou continuar o post Criando uma aplicação com Cake on Rails desta vez explico o que foi alterado no cakePHP e então da pra entender por que o nome cake_on_rails.

A grande diferença fica por conta dos prefixos. Vou usar como exemplo o mais comum (admin). Como cakePHP você ganha a possibilidade de criar estruturas como admin/pages/index que acessa o controller pages com o método admin_index. Este é um dos motivos pelo qual decidi alterar o cakePHP que é um projeto open source para estes fins. Então com o minha contribuição agora quando acessar a mesma url será chamado o controller admin/pages e o método index, separando assim todo o controller do admin do controller normal.


Criando uma aplicação com Cake on Rails

No artigo Cake on Rails eu expliquei algumas das alterações que eu fiz no cakePHP em relação a versão original e no artigo Aplicação base part 1 expliquei como criar (fazer o setup de) uma aplicação utilizando o base que é uma estrutura pré-montada sobre o cakePHP que já possui uma separação do site e da administração, um sistema de usuários com login e uma sistema para criar páginas informacionais.

Desta vez resolvi gravar um video onde mostro o passo a passo do tutorial acima citado, com as atualizações.


Melhorar a velocidade da sua Aplicação

Hoje vou traduzir um artigo do Erik Andrejko falando sobre como melhorar a velocidade da sua aplicação Rails.

Leia o original aqui

Seus usuários ficam felizes quando não notam a velocidade que a sua aplicação responde. Se eles notarem esta velocidade é porque provavelmente está muito lenta. Muitas melhorias acontecem fora da sua aplpicação Rails.


Resultados em tabelas com cakePHP

Ontem o Jean Carlos me perguntou se eu tinha algum plugin para mostrar resultados em colunas no cakePHP assim como eu fiz para o Ruby on Rails veja aqui.

O grande problema de fazer esse plugin para o cakePHP é a minha falta de conhecimento com o PHP Já faz um tempo que não estudo PHP e até onde me lembre não da para passar um bloco de código como parâmetro, então só fiz uma forma simples para ser usado no meio da view e passei para ele. Veja código abaixo:


Aplicação base part 1

Hoje vou começar um tutorial de como criar uma aplicação a partir do base_app que fiz para o cakephp citado neste post.

Primeiros passos

Para iniciar o projeto basta seguir os passos abaixo:


Cake on Rails

Como a maioria já deve saber em Janeiro foi lançada a versão estável do cakePHP 1.2. Depois deste lançamento eu procurei dentro do github por cakePHP e acabei encontrando o projeto do Joel Moss onde ele havia importado importado o SVN para GIT. Então não tive mais dúvidas, fiz um fork do projeto e comecei as minhas modificações sobre o mesmo. O que mudei não foi muita coisa, vou tentar explicar o que foi feito aqui em baixo.


Cake Upload

Hoje resolvi falar um pouco sobre o meu primeiro componente decente que fiz para quem utiliza CakePHP o nome dele é Cake Upload e como o próprio nome diz serve para facilitar o upload de arquivos para quem utiliza o CakePHP como framework.

Eu sei que o CakePHP tem a sua padaria própria mas como estou empolgado com o GIT resolvi colocar o código no github até mesmo por que na minha humilde opnião é onde os códigos deveriam ficar (demorou para o core do CakePHP migrar pra lá também).

Eu não vou explicar muito como ele funciona até mesmo por que o README que criei serve pra isso. Tudo bem que ele está em inglês e o meu inglês não é lá essas coisas, mas se alguém encontrar algo errado por favor me reportem que eu irei atualizar o quanto antes.

O link do projeto no github é: http://github.com/marciotrindade/cake_upload/

Espero que ajude alguém.


Problemas com ecommerce

Logo que terminamos o ecommerce do artigo anterior já haviam mais alguns ecommerce para fazermos. Foi então que tentamos de uma forma simples apenas replicar tudo o que tinha sido feito antes para facilitar o nosso trabalho. No início tudo certo, conseguimos acertar o ecommerce em questão de uma ou 2 semanas, ainda não era o objetivo final mas já estava muito melhor do que o Chaz Dean onde levamos mais de 2 meses.

Quando implementamos o nosso ecommerce dentro do projeto Culture Colective encontramos mais um problema, nosso ecommerce estava muito simples e para esta loja precisaríamos colocar o sistema de estoque, para controlar quantos produtos tem disponível de cada um dos atributos. Isso quer dizer eu tenho 2 camisetas azuis do tamanho P e por ai vai. Para cada atributo novo que o cliente adiciona no sistema aumenta a variável para estoque, o que faz o sistema muito mais complexo.

Com a ajuda do Cesar Schneider conseguimos implementar mais esta funcionalidade e o sistema foi aprovado pelo cliente. Nos demais projetos Chimere, Guy Hepner e Chaudry não tivemos mais tantas complicações e o sistema consegui ser implementado em uma ou 2 semanas.

Como não canso de procurar novas soluções vou deixar o suspense até o próximo artigo para explicar como estamos tentando melhorar o sistema. Só posso dizer que resolvemos mudar o sistema como um todo e iniciar do zero novamente.