CakePHP - Um framework pouco citado, mas bastante poderoso
Tags: cakephp, frameworks, php, desenvolvimento
Published: 2023-02-19 02:54:36

Devo confessar que o [CakePHP](https://cakephp.org/), aliado ao [Bootstrap](https://getbootstrap.com/), são meus *frameworks* "xodós". Normalmente só vejo o pessoal falar de Laravel, das facilidades e documentações.

Numa **opinião pessoal**, acredito que "a pouca visibilidade" e "falta de citações" do CakePHP se deve às poucas publicações, cursos ou vídeos em nossa lingua. Porque falo isso? Pelo fato de ter contato com algumas pessoas, e me dizem que querem algumas coisas mão na massa; de ter um guia; um passo-a-passo.

Ao pesquisar conteúdos de CakePHP em português, são poucos artigos sólidos e proveitosos, muitas vezes é melhor ir direto a documentação, o [**Cookbook**](https://book.cakephp.org/4/pt/index.html), normalmente esta tem sido minha sugestão.

## Sobre o CakePHP

O CakePHP é um *framework* de desenvolvimento *web*, no momento de escrita dessa matéria, ele se encontra na [versão 4.4.11](https://github.com/cakephp/cakephp/releases), e já funciona com o PHP 8 (mas dá suporte mínimo a versão 7.4).

Ele é rápido de produzir e fácil de instalar. **Seus requisitos mínimos são um servidor web** (ou seja, podendo ser executado em: Apache; Nginx; LightHTTPD; ou Microsoft IIS.) e **uma cópia do CakePHP, só isso**!

Em sua página inicial, e numa tradução pessoal, ele se descreve como *"A receita do sucesso. Onde você Prototipa e valida rápido, e cresce sólido"*, achei um bom trocadilho, bem válido (kkkk).

> A recipe to succeed. Prototype faster, Validate faster, Grow consistently

Ainda na página principal, eles citam os elementos que o tornam uma boa opção:

>- Build Quickly: Use code generation and scaffolding features to rapidly build prototypes.
>- No Configuration: No complicated XML or YAML files. Just setup your database and you're ready to bake.
>- Friendly License: CakePHP is licensed under the MIT license which makes it perfect for use in Commercial applications.
>- Batteries Included: The things you need are built-in. Translations, database access, caching, validation, authentication, and much more are all built into one of the original PHP MVC frameworks.
>- Clean MVC Conventions: Instead of having to plan where things go, CakePHP comes with a set of conventions to guide you in developing your application.
>- Secure: CakePHP comes with built-in tools for input validation, CSRF protection, Form tampering protection, SQL injection prevention. CakePHP codebase itself has been audited through the Mozilla Secure Open Source program.

## Dos seus recursos
Para ter uma ideia geral dos fundamentos do CakePHP, ele é desenvolvido para tornar tarefas rotineiras do desenvolvimento *web* mais simples e fáceis. Busca fornecer uma caixa de ferramentas completa para você começar (ferramentas de Teste; Cache; Envio de emails; Debug; API REST; de ORM; controle de Autentição; além da geração automática de código; adição de *plugins*; tratativas de segurança, dentre outros), as várias partes do CakePHP funcionam bem juntas ou separadamente.

Ele provê uma estrutura organizacional básica, que cobre nomenclaturas de classes, arquivos, banco de dados e outras [**convenções**](https://book.cakephp.org/4/pt/intro/conventions.html), uma vez que as convenções forem assimiladas, e também ao seguí-las: você evita configurações desnecessárias; cria uma estrutura de aplicação uniforme, que faz trabalhar com vários projetos uma tarefa suave.

## Mão na massa
Ao meu ver, a melhor forma de viver experiências e aprender sobre o CakePHP será construindo algo. Se você está ansioso para começar um projeto, você pode começar:
1. Criando um [Gerenciador de Favoritos (URL)](https://book.cakephp.org/4/pt/tutorials-and-examples/bookmarks/intro.html), dividido em apenas duas partes;
2. Criando um [blog](https://book.cakephp.org/4/pt/tutorials-and-examples/blog/blog.html), dividido em quatro partes; 
3. ou [mergulhar na documentação](https://book.cakephp.org/4/pt/topics.html) e conhecer ao seu modo.

Vá lá, divirta-se.

## Colabore com o projeto
Para melhorar a visão sobre o CakePHP, o [*Cookbook*](https://book.cakephp.org/4/pt/index.html) ("guia de receitas") é um projeto de documentação editável e aberto à comunidade, com seu [código fonte disponível GitHub](https://github.com/cakephp/docs), permite que qualquer pessoa facilmente contribua com adições, exclusões ou correções para a documentação.

## Vale a pena conferir
- [Convenções - desenvolvimento uniforme e cheio de funcionalidades](https://book.cakephp.org/4/pt/intro/conventions.html)
- [Conheça as funções globais de conveniência](https://book.cakephp.org/4/pt/core-libraries/global-constants-and-functions.html)
- [Qual a estrutura de pastas?](https://book.cakephp.org/4/pt/intro/cakephp-folder-structure.html)
- [Como contribuir com a documentação?](https://book.cakephp.org/4/pt/contributing/documentation.html)
- [Onde conseguir ajuda?](https://book.cakephp.org/4/pt/intro/where-to-get-help.html)
- [Quero saber mais sobre a instalação](https://book.cakephp.org/4/pt/installation.html)
- [Como é o Processo de desenvolvimento do framework?](https://book.cakephp.org/4/pt/appendices/cakephp-development-process.html)

### Publicado também no [TabNews](https://www.tabnews.com.br/danielmota/cakephp-um-framework-pouco-citado-mas-bastante-poderoso)