Dicas para se atualizar para CakePHP 3 Artigo

Conheça os cursos gratuitos do WebDevBr! - Inscreva-se!


Este artigo foi publicado a 3 anos, 2 meses, 4 semanas, 2 dias atrás.

Esse é o ponto, a transição, o momento! Então é isso, a partir deste momento o meu blog não terá mais novos conteúdos para a versão 2 do CakePHP e mesmo o que já existe será progressivamente atualizado para a nova versão, calma, ainda vou manter os artigos antigos.

E como não podia deixar de ser, vou passar umas dicas pra vocês que estão querendo dar uma conferida no que há de novo.

Instalando o CakePHP 3

A partir da versão 3 o CakePHP será instalado a partir do Composer, o que é muito legal, acreditem!

Gostou deste artigo?

Receba atualizações semanais com novos artigos do WebDevBr e outras dicas!

Para instalar o Composer vá ao site oficial e baixe utilizando um dos comandos no terminal (cmd, prompt de comando, programa preto de texto branco...), ao final do processo você terá um cópia atualizada do arquivo composer.phar no seu PC.

Agora basta rodar o comando abaixo:

php composer.phar create-project --prefer-dist cakephp/app [app_name]

Não esqueça de trocar o [app_name] pelo nome da sua aplicação.

Acontece que o CakePHP agora é separado entre Core e Esqueleto, assim como o Zend Framework 2 por exemplo, mas este comando já baixa e configura tudo pra você.

Note que agora você terá que usar o PHP 5.4.19 ou mais recente e 3 extenções são obrigatórias:

  • mbstring
  • mcrypt
  • intl.

Para saber mais sobre a instalação e os requerimentos do CakePHP 3 visite o link oficial: http://book.cakephp.org/3.0/en/installation.html

Nova estrutura

Agora teremos uma nova estrutura, a primeira grande alteração é que você não vai encontrar um diretório app ou lib quando acessar seu projeto, agora temos na raiz um diretório chamado src.

O core do CakePHP agora segue as boas práticas de desenvolvimento e total integração com o Composer, portanto está dentro de vendor, veja como ficou a estrutura nova:

  • config - antigo app/Config (Configurações do CakePHP, como banco de dados e afins)
  • logs - antigo app/tmp/logs (Logs de erro e afins)
  • plugins - antigo app/Plugins (Plugins prontos par ao CakePHP)
  • src - Seu MVC
    • Console - antigo app/Console
    • Controller - antigo app/Controller
    • Model - antigo app/Model
    • Template - antigo app/View
    • View - Aqui vai ficar seus Helpers
  • tests - antigo app/Test (Para TDD)
  • tmp - antigo app/tmp (Para arquivos temporários)
  • vendor - Bibliotecas de terceiros e o próprio CakePHP
  • webroot - antigo app/webroot (Diretório de arquivos públicos, como css, javascripts e imagens)
  • .htaccess
  • index.php

Logo de cara você já percebeu que muita coisa mudou, né!

Camada de View

Como você deve ter percebido a antiga app/View agora está separada em dois diretórios, o Template e o View.

O Template será responsável por gerar a visualização da sua aplicação propriamente dita, é nela que ficará os layouts e arquivos de visualização de cada action dos controllers, enfim, a grande diferença é que não temos mais aqui o diretório Helper, agora ele fica em src/View/Helper, já que o diretório src/View vai guardar todas as classes que possamos usar na nossa camada view, muito mais organizado né.

View na documentação

Camada Model

A grande mudança aqui é em relação ao novo CakePHP ORM, agora nos temos um ORM de verdade (não, antigamente não era um ORM propriamente dito), agora tem (além do diretório Behavior) os diretórios Entity e Table.

O Entity vai guardar as entidades, ou seja, o mapeamento do nosso Banco de dados. A camada entity supera muito os antigos callbacks no que se diz respeito ao tratamento dos dados.

Todo o resto da nossa model fica em Table, aqui é onde temos os relacionamentos, funções e callbacks por exemplo.

Model na documentação

Camada Controller

Se tem uma camada que não mudou muita coisa em questão de organização foi a camada Controller, aqui as coisas ainda estão bem parecida pra quem desenvolve com CakePHP 2, o que com certeza vai te ajudar a portar seu código para a versão nova.

Controller na docimentação

E pra começar?

Pra quem quer conferir a versão nova ou para quem vai começar a estudar agora e já quer começar atualizado a equipe do CakePHP 3 preparou a versão do tutorial do blog para o CakePHP 3, que tal dar uma olhada, na dúvida do inglês use o Google Translator.

Getting Started

É isso ai, bons estudos!


Cursos relacionados


* Parcelamento apenas cartão de crédito! Pode haver uma pequena variação no parcelamento em relação a simulações apresentadas!