CakePHP – Introdução ao framework

Existem diversos frameworks PHP:  Zend, CakePHPCodeIgniter, Symfony, Yii e etc. Todos eles com certeza são excelentes ferramentas e facilitam muito a vida do programador, principalmente aumentando a  produtividade. Porém, em meio a essa infinidade de tecnologias existentes e as que estão surgindo no mercado, é comum surgir à dúvida:  qual devo utilizar?

O site PHP Frameworks até ajuda um pouco na resolução desse dilema, disponibilizando uma  tabela comparativa com os principais frameworks e o suporte de cada deles, ou não,  a recursos como ajax, múltiplos bancos de dados, cache, módulos e etc. Mas mesmo assim, quando se está começando é muito difícil escolher um, e impossível estudar todos.

php frameworks

Comigo não foi diferente, mas se tem uma coisa que aprendi e que foi muito bem definida e reforçada na palestra do Zeno Rocha no BrazilJS,  é que “o sucesso de uma aplicação não depende da ferramenta, mas de como ela é aplicada”. Dito isso, não importa qual framework PHP você vai escolher, ou mesmo em qual linguagem você vai programar, o que importa é você conhecer a tecnologia a fundo e saber tirar o melhor proveito dela. Eu escolhi o CakePHP por ser muito popular, ter uma comunidade muito ativa e principalmente porque comecei a trabalhar em um sistema que foi construído com ele. É uma ferramenta espetacular, por isso vou fazer uma breve introdução para quem estiver interessado em conhecê-lo um pouco.

O que é o CakePHP?

O CakePHP é um framework de desenvolvimento rápido para PHP, livre e de Código aberto. O principal objetivo é permitir que você trabalhe de forma estruturada e rápida sem perder a flexibilidade.

cakephp introduçãoEle tira a monotonia do desenvolvimento web, fornecendo todas as ferramentas que você precisa para começar programando o que realmente deseja: a lógica específica da sua aplicação. Você não precisa reinventar a roda a cada vez que se constrói um novo projeto. Abaixo segue uma pequena lista dos recursos que você poder desfrutar no CakePHP:

  • Comunidade ativa e amigável
  • Licença flexível
  • Compatível com o PHP 5.2.6 e superior
  • CRUD integrado para interação com o banco de dados
  • Scaffolding para criar protótipos
  • Geração de código
  • Arquitetura MVC
  • Requisições feitas com clareza, URLs e rotas customizáveis
  • Validações embutidas
  • Templates rápidos e flexíveis (Sintaxe PHP, com helpers)
  • Helpers para AJAX, JavaScript, formulários HTML e outros
  • Componentes de Email, Cookie, Segurança, Sessão, e Tratamento de Requisições
  • Controle de Acessos flexível
  • Limpeza dos dados
  • Sistema de Cache flexível
  • Localização
  • Funciona a partir de qualquer diretório do website, com pouca ou nenhuma configuração do Apache

Texto original: http://book.cakephp.org/2.0/pt/cakephp-overview/what-is-cakephp-why-use-it.html

Como começar

Nenhum material vai dispensar uma boa lida na documentação oficial do CakePHP, que inclusive está disponível em português em sua maior parte, e o desenvolvimento dos dois exemplos de aplicação que existem nela, um blog e um sistema com lista de controle de acesso.
Fora isso, existem muitos sites e blogs com excelente conteúdo a respeito deste fantástico framework, visto que ele é muito utilizado. Seguem alguns links de artigos e vídeo aulas que me ajudaram bastante:

Configurando o banco de dados do CakePHP com o Bake
Tutorial: Iniciando o desenvolvimento web com CakePHP
Blog do Thiago Belem
Vídeo Aulas Brasil
Grupo CakePHP PT
CakePHP Brasil
Usando o Bake e Ganhando ainda mais Produtividade com o Cakephp