Framework

Framework Cake PHP

Framework Cake PHP

OBJETIVO

CakePHP tem como objetivo simplificar o processo de desenvolvimento para a construção de aplicações web, possuindo um núcleo geral para organizar o banco de dados e outros recursos que ajudam a reduzir a codificação. Entretanto, esta abordagem geral da programação web seja em si uma característica importante do CakePHP, o seu conjunto de outros recursos poderosos como validação embutida, listas de controle de acesso (ACLs), sanitização de dados, segurança e componentes de manipulação de sessão e cache de view fazem o CakePHP valer a pena para qualquer desenvolvedor.

CARACTERÍSTICAS

  • Licença flexível;
  • Compatibilidade com PHP5;
  • Geração de CRUD para interação com banco de dados;
  • Arquitetura MVC;
  • Validação;
  • Templates;
  • Ferramentas que auxiliam gerar JavaScrip, AJAX, Forms HTML, etc
  • Comunidade ativa;
  • Funciona em qualquer subdiretório web, com pouca configuração Apache.

MVC

CakePHP é baseado no padrão de desenvolvimento Model-View-Controller. A MVC é uma abordagem de Software que separa a lógica da aplicação de sua apresentação. Em pratica, ela permite que nossas aplicações Web contenham o mínimo de script já que a apresentação é separada do código.

  • Model (Modelo): Contém toda a logica da aplicação que não faz parte de uma Visão (View). Isso quer dizer que todas as regras de negócio, validação e acesso a dados estão contidas no Modelo.
  • View (Visão): É a camada de apresentação, a interface que será mostrada para o usuário. Um view contém todo o
  • HTML e lógica necessária para a correta exibição das páginas aos usuários.
  • Controller (Controlador): recebe as requisições de dados e invoca o modelo para apresentar uma resposta para a visão.

Separarmos a aplicação nessas três partes é muito interessante., pois podemos, por exemplo, modificar todo o layout de nossas páginas sem encostarmos no restante da aplicação, modificando apenas as views.

Na imagem a seguir conseguimos visualizar a arquitetura MVC no CakePHP.

Arquitetura MVC no CakePHP

Figura 1: Arquitetura MVC no CakePHP

DOWNLOAD

Para realizarmos o download do CakePHP, vamos acessar o site oficial do CakePHP: https://github.com/cakephp/cakephp/tags. Com esse link seremos encaminhados até uma página em que podemos escolher entre os arquivos disponíveis. Nessa página podemos fazer download da versão mais recente, neste caso é a 2.3.1.

Download CakPHP

Figura 2: Download CakPHP

Podemos fazer download direto clicando em Zip, após completarmos o download, temos que descompactar o CakePHP, pois ele vem em .zip. Com ele descompactado, teremos a seguinte estrutura de pasta: eremos a pasta cakephp-2.3.1 e dentro os arquivos do CakePHP.

ESTRUTURA DA PASTA PRINCIPAL DO CAKEPHP

Pasta principal CakePHP

Figura 3: Pasta principal do CakePHP

Neste artigo vamos conhecer apenas a pasta APP, que é a pasta onde normalmente vamos colocar nossas aplicações em desenvolvimento. Pra isso, vamos conhecer melhor o que existe dentro dessa pasta. Primeiro vejamos a imagem com esses arquivos.

Arquivos na pasta APP do CakePHP

Figura 4: Arquivos na pasta APP do CakePHP

  • Config: Contém os arquivos de configuração, detalhes da conexão ao banco de dados, bootstrapping, arquivos de configuração do núcleo e outras.
  • Controller: Contém os controladores das nossas aplicações e nossos componentes.
  • Locate: Armazena os arquivos com as strings para internacionalização.
  • Models: Contém os modelos, behaviores datasources da nossa aplicação.
  • Plugins: Contém os pacotes de plug-ins.
  • Tmp: Esta pasta é onde o CakePHP armazena os arquivos temporários. Os dados atuais são armazenados onde tenhamos configurado o CakePHP, mas esta pasta normalmente é usada para guardar a descrição dos modelos, logs e outras informações como as das sessões.
  • Vendors: Qualquer classe ou biblioteca de terceiros deve ser armazenada aqui. Para fazer um acesso rápido é fácil, use a função vendors(). Podemos achar que esta pasta é redundante, já que possuímos uma pasta com o mesmo nome no nível superior da estrutura. Porém, vemos diferenças entre estas duas pastas quando falamos sobre manipulação de múltiplas aplicações e sistemas mais complexos.
  • Views: Os arquivos para apresentação devem ser armazenados nesta pasta, elementos, páginas de erro, ajudantes, layouts e arquivos de visão.
  • Webroot: No modo desenvolvimento, esta pasta deve servir como a pasta raiz da nossa aplicação. Dentro desta pasta são guardados os arquivos públicos, como estilo CSS, JavaScript.

CONFIGURAÇÕES

Mesmo o CakePHP sendo focado em convenção ao invés de configuração, o CakePHP pode ter seu comportamento alterado através de alguns arquivos de configuração, que se encontram disponíveis na pasta “app/confing”.

Arquivos da pasta app/Config

Figura :5 Arquivos da pasta app/Config

CONVENÇÕES

O CakePHP privilegia convenções ao invés de configurações. Isso significa que seguindo as convenções estabelecidas, o CakePHP fará muito por nós. Porém não somos obrigados a seguirmos as convenções, mas perderemos muito com isso, pois teremos que fazer algumas coisas que com as conveções, já estariam prontas.

Apesar de levarmos um pouco de tempo para aprendermos as convenções do CakePHP, nós ganharemos tempo em um longo processo: seguindo as convenções, nós ganhamos funcionalidades gratuitamente e evitamos de passarmos madrugadas fazendo manutenção de arquivos de configuração. Convenções também fazem com que o sistema fique uniformemente desenvolvido, permitindo que outros desenvolvedores nos ajudem mais facilmente, já que segue um padrão de trabalho.

Convenções no CakePHP têm sido produzidas por anos de experiências em desenvolvimento web e boas práticas. Apesar da recomendação de usarmos essas convenções enquanto desenvolvemos em CakePHP, é importante sabermos também que muitos desses princípios podem ser facilmente sobrescritos - algo que especialmente acontece quando trabalha-se com sistemas legados.

Fonte: https://www.devmedia.com.br/apresentando-o-framework-cakephp/27455


comentários (0)


deixe um comentário

posts recentes
Categorias