Um breve guia relacionando os passos para se tornar um “expert” em CakePHP.
Traduzido do original em: http://teknoid.wordpress.com/2009/02/04/12-step-program-to-get-addicted-to-cakephp/
Passo 1. – Abandone seus velhos hábitos
Tendo você ou não ótimos hábitos, a familiaridade com diversos outros frameworks, ou de fato até nenhuma experiência… ainda assim será muito benéfico para você abrir sua mente e experimentar o modo “Cake” de fazer as coisas. Você pode não concordar, você pode não gostar, mas se você quiser vislumbrar o poder do CakePHP, ponha seus conhecimentos prévios de lado por um instante e tente entender porque as coisas são feitas da forma que devem ser feitas. No fim das contas, você deverá concordar, gostar ou mesmo começar a se sentir um pouco mais por dentro dos novos paradigmas e das novas oportunidades que se abrirão a você como desenvolvedor.
“É muito mais fácil criar uma obra de arte em uma tela em branco do que pintar sobre algo que alguém já começou.”
Passo 2. – Ler a documentação ajuda muito
Volta e meia chego a ouvir que a documentação do CakePHP “não presta”. Pessoalmente, eu acho que isso não poderia estar mais longe da realidade (mas vamos focar no assunto). O novo manual em http://book.cakephp.org – chamado de “The Book” (“O Livro”) ou “Cookbook” (“Livro de Receitas”) – está melhor do que nunca. E o que é mais importante é que ele é fruto de um trabalho coletivo da comunidade. Qualquer parte do livro pode ser editara e você mais do que ninguém é convidado a contribuir e melhorar a documentação como bem quiser. Seja corrigindo erros de ortografia, incluindo algum código de exemplo ou esclarecendo alguma explicação, tudo conta e não há nada que não seja importante de ser colocada no framework. Em outras palavras, se você encontrar um problema ou algo faltando, você tem o poder para melhorá-la você mesmo.
Passo 3. – Entre na lista de discussão (Google Group)
O CakePHP é uma comunidade bem abrangente, atuante e colaborativa: http://groups.google.com/group/cakephp-pt. Entre na lista, poste suas dúvidas quando você estiver engatado em alguma coisa para obter ajuda de outros usuários. Participando da lista, você não só tem a chance de trocar conhecimento com outras pessoas (o que, no mínimo, é uma boa sensação), mas também de aprender um pouco mais apenas lendo as mensagens e possivelmente ajudando nos problemas que os outros estejam tendo.
(N.T.: Se o idioma inglês não é problema para você, participe também da comunidade internacional do CakePHP em http://groups.google.com/group/cake-php)
Passo 5. – Entre no amigável canal IRC da comunidade
Para coisas em geral, o CakePHP tem um canal IRC (#cakephp na rede irc.freenode.net) excelente e bastante ativo, o que é perfeito para quando você precisar de algum suporte em tempo real. Além de bastante amistoso e colaborativo, o canal também é um ambiente de bastante descontração e certamente pode ser usado como uma ótima ferramenta de aprendizado para aprofundar seus conhecimentos.
Passo 5. – Comece a programar, logo
Toda a leitura e preparativos são incentivadas, mas a parte mais importante para entrar de fato no mundo do CakePHP é sentar e começar a programar nele. Mesmo se você simplesmente seguir o tutorial do blog. Mesmo se você não tiver segurança se a abordagem que está seguindo é a melhor. Programar é algo que envolve melhoramentos constantes e refatoração é mais uma parte natural da vida de um desenvolvedor. Quanto mais cedo você começar, mais cedo você estará se aprimorando. Talvez não precisasse se dizer, mas é claro que você pode não conseguir fazer um bom bolo a menos que você tente realmente pôr a mão na massa.
Passo 6. – Fique íntimo da API
No momento em que escrevia este artigo, o CakePHP tinha acabado de ganhar uma nova API (apenas alguns dias atrás), graças a Mark Story e outros colaboradores. Sim, ainda há uns poucos ajustes a serem feitos, mas a API é uma ferramenta indispensável para qualquer desenvolvedor. Ela pode lhe parecer um pouco indimidadora no início, mas é bom você se acostumar a ela e aprender a gostar dela. A API é a resposta definitiva para muitas de suas perguntas sobre o desenvolvimento com CakePHP. Seguir em frente para compreendê-la pode até ser um pouco difícil no começo, mas vale muito a pena no fim das contas.
Passo 7. – Apaixone-se você também pelos casos de teste
Existe alguma coisa melhor para um desenvolvedor do que a API do CakePHP?
De faro, há os casos de teste. Os casos de teste principais (aos que me refiro aqui), cobrem cerca de 90% de todo o código do framework. Eles lhe mostram cada pequeno detalhe sobre como usar este ou aquele método no CakePHP e depois de dedicar seu tempo no Passo 6, dar uma olhada nos casos de teste irá melhorar em muito o seu grau de conhecimento.
Passo 8. – Submeta um artigo para o Bakery
Agora você está quase lá… pode ser que você tenha tido dificuldade em algum ponto ou outro, mas deve tê-los superado. É o momento perfeito para compartilhar sua experiência com a comunidade.
Você desenvolveu alguma aplicação interessante que gostaria de mostrar ao mundo? …compatilhe-a como um caso de estudo.
Criou algum pequeno helper que outras pessoas também poderiam aproveitar? …escreva sobre ele em um artigo.
Precisou fazer algum código em algum método que facilitou a sua vida? …submeta um trecho de código.
O Bakery (a padaria) é o local definitivo para compartilhar seu conhecimento com outros e aprender uma coisa ou outra no processo e ao mesmo tempo apresentar o que você aprendeu à comunidade… além de exercitar sua mente.
Passo 9. – Acompanhe os tíquetes na linha de tempo do trac
Aqui, você já está em um bom nível dentro do CakePHP. Neste ponto, acompanhar o trac do CakePHP é algo de caráter educativo… e também importante, se você quiser estar antenado sobre as novidades e o futuro do framework. A linha do tempo em https://trac.cakephp.org/timeline lhe oferece uma perfeita visão geral sobre o que está acontecendo diariamente na vida dos desenvolvedores do CakePHP. Você vai ver a maior parte do código submetido diariamente sendo incorporado ao núcleo do framework e os diversos tíquetes sendo respondidos e fechados pelas mais variadas (e “divertidas”) razões. Além disso, o que é mais importante, você percebe que o framework como uma coisa viva e se desenvolvendo ao longo do tempo.
É reconfortante saber que quando você estiver cumprido todos esses passos, ao final, você não está sozinho. Os desenvolvedores do CakePHP estão trabalhando duro e incansavelmente para estar sempre facilitando e aprimorando as coisas.
Passo 10. – Escreva um caso de teste e submeta um patch
Posso imaginar que você é um verdadeiro especialista no CakePHP, não? Bem, diga o que quiser mas nada é perfeito. Se você vir algo no framework de que você não goste ou se tiver uma idéia brilhante de como otimizar algo no código, seja benevolente e submeta um tíquete com um patch e um caso de teste. Mas, por favor, faça as coisas direito! … Dizer que “Isto não está funcionando!” não é um tíquete muito útil para ninguém.
Dedique algum tempo, sente-se e pense sobre como seria uma correção e um caso de teste neste caso. Assim, sua idéia poderá rapidamente ser relacionada e implementada. No fim das contas, ninguém gosta de ficar esperar pela correção de problemas.
Passo 12. – Contribua
Não importa se você já for um guru do CakePHP, um mestre da orientação a objetos ou um entusiasta do PHP. É possível contribuir com o projeto de diferentes formas, por diversos meios e de várias maneiras. Como já dito… desde uma pequena ajuda com a documentação, com projetos relacionados, com algum componente esperto que você tenha criado, com um bom trecho de código (ou mesmo um artigo em seu blog, se for o caso)… são todas contribuições úteis. Cada pessoa trabalhando nisto em em outros projetos semelhantes é um voluntário. Respeite isso, e se torne voluntário você também. Pode não ser um hábito simples de se adquirir mas que pode representar um impacto positivo muito grande em sua vida como um todo.
Passo 12. – Comece a estudar outros frameworks
É, não é brincadeira. Não importa o quanto você se aprofunde como um especialista em CakePHP, sempre é importante ter em mente que nenhuma ferramenta é perfeita para qualquer tarefa. Há muitos outros ótimos frameworks construídos por excelentes programadores e que certamente podem ajudar você a se aprimorar como programador. É claro que eu apoiar que você grite sempre: “Cake é o MELHOR!” sempre que puder, mas seja respeitoso com os demais, que não tenham tanta sorte! 😛
P.S. Atualização! Este guia simples de 12-passos está disponível livremente e sem custos, mas se você quiser, sinta-se à vontade para me enviar duas contribuições de $9.95 ou apenas uma de $12.35…