{"id":5820,"date":"2026-04-03T11:19:58","date_gmt":"2026-04-03T14:19:58","guid":{"rendered":"https:\/\/thiagorossi.com.br\/blog\/?p=5820"},"modified":"2026-04-04T10:36:46","modified_gmt":"2026-04-04T13:36:46","slug":"o-que-e-framework-mvc-cakephp","status":"publish","type":"post","link":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/","title":{"rendered":"O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\n<p class=\"has-medium-font-size wp-block-paragraph\">Arquitetura CakePHP: Se voc\u00ea est\u00e1 come\u00e7ando no mundo do desenvolvimento web ou se j\u00e1 tem experi\u00eancia com PHP &#8220;puro&#8221;, certamente j\u00e1 se deparou com o termo <strong>MVC<\/strong>. Mas o que ele realmente significa na pr\u00e1tica? E por que o <strong>CakePHP<\/strong> \u00e9 considerado um dos maiores expoentes dessa arquitetura?<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Neste artigo, vamos mergulhar fundo no padr\u00e3o <strong>Model-View-Controller (MVC)<\/strong>. Voc\u00ea entender\u00e1 como essa separa\u00e7\u00e3o de responsabilidades n\u00e3o apenas organiza seu c\u00f3digo, mas acelera drasticamente sua produtividade e a seguran\u00e7a das suas aplica\u00e7\u00f5es.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">O que \u00e9 a Arquitetura MVC?<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A sigla MVC significa <strong>Model (Modelo)<\/strong>, <strong>View (Vis\u00e3o)<\/strong> e <strong>Controller (Controlador)<\/strong>. Trata-se de um padr\u00e3o de design de software criado para separar a aplica\u00e7\u00e3o em tr\u00eas camadas principais.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Imagine que voc\u00ea est\u00e1 em um restaurante. O processo funciona assim:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>O Gar\u00e7om (Controller):<\/strong> Recebe o seu pedido, leva at\u00e9 a cozinha e depois traz a comida pronta.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>O Cozinheiro (Model):<\/strong> Conhece as receitas, sabe onde est\u00e3o os ingredientes (banco de dados) e prepara o prato.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>O Prato Decorado (View):<\/strong> \u00c9 a forma como a comida \u00e9 apresentada a voc\u00ea. \u00c9 o que voc\u00ea v\u00ea e consome.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">No desenvolvimento web, essa separa\u00e7\u00e3o evita o que chamamos de &#8220;c\u00f3digo espaguete&#8221;, onde a l\u00f3gica de banco de dados, o HTML e as regras de neg\u00f3cio ficam todos misturados em um \u00fanico arquivo <code>.php<\/code>.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">As Tr\u00eas Camadas no Contexto do CakePHP<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O CakePHP leva o MVC a s\u00e9rio, mas com um toque especial: a <strong>Conven\u00e7\u00e3o sobre Configura\u00e7\u00e3o<\/strong>. Isso significa que o framework j\u00e1 espera que voc\u00ea siga certas regras, o que economiza horas de c\u00f3digo manual.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">1. Model (A Camada de Dados)<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">No CakePHP, a camada Model \u00e9 respons\u00e1vel por tudo o que diz respeito aos dados. Ela \u00e9 dividida em duas partes principais:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Tables:<\/strong> Representam a tabela do banco de dados e cuidam das consultas (queries).<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Entities:<\/strong> Representam um \u00fanico registro (uma linha da tabela) e cuidam da l\u00f3gica de um objeto espec\u00edfico.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Exemplo de l\u00f3gica na Model (src\/Model\/Table\/ArtigosTable.php):<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>namespace App\\Model\\Table;\nuse Cake\\ORM\\Table;\nuse Cake\\Validation\\Validator;\n\nclass ArtigosTable extends Table {\n    public function initialize(array $config): void {\n        $this-&gt;addBehavior('Timestamp'); \/\/ Adiciona created e modified automaticamente\n    }\n\n    public function validationDefault(Validator $validator): Validator {\n        $validator\n            -&gt;notEmptyString('titulo', 'O t\u00edtulo \u00e9 obrigat\u00f3rio')\n            -&gt;minLength('titulo', 10);\n        return $validator;\n    }\n}\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">2. View (A Camada de Interface)<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A View \u00e9 o que o usu\u00e1rio final enxerga. No CakePHP, usamos arquivos <code>.php<\/code> dentro da pasta <code>templates<\/code>. O diferencial aqui \u00e9 o uso de <strong>Helpers<\/strong>, que facilitam a cria\u00e7\u00e3o de formul\u00e1rios e links sem precisar digitar HTML puro o tempo todo.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Exemplo de View (templates\/Artigos\/index.php):<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>&lt;h1&gt;Lista de Artigos&lt;\/h1&gt;\n&lt;table&gt;\n    &lt;?php foreach ($artigos as $artigo): ?&gt;\n    &lt;tr&gt;\n        &lt;td&gt;&lt;?= h($artigo-&gt;titulo) ?&gt;&lt;\/td&gt;\n        &lt;td&gt;&lt;?= $this-&gt;Html-&gt;link('Ler mais', &#91;'action' =&gt; 'visualizar', $artigo-&gt;id]) ?&gt;&lt;\/td&gt;\n    &lt;\/tr&gt;\n    &lt;?php endforeach; ?&gt;\n&lt;\/table&gt;\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading has-large-font-size\">3. Controller (O Maestro)<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O Controller recebe as requisi\u00e7\u00f5es do usu\u00e1rio (via URL), interage com a Model para buscar informa\u00e7\u00f5es e decide qual View deve ser exibida. Ele \u00e9 a &#8220;ponte&#8221; de comunica\u00e7\u00e3o.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Exemplo de Controller (src\/Controller\/ArtigosController.php):<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">PHP<\/p>\n\n\n\n<pre class=\"wp-block-code has-medium-font-size\"><code>namespace App\\Controller;\n\nclass ArtigosController extends AppController {\n    public function index() {\n        $artigos = $this-&gt;Artigos-&gt;find('all'); \/\/ Chama a Model\n        $this-&gt;set(compact('artigos')); \/\/ Envia os dados para a View\n    }\n}\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">A Estrutura de Pastas: Onde o MVC vive?<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Ao instalar o CakePHP, voc\u00ea ver\u00e1 uma estrutura de pastas organizada. Para dominar o MVC, voc\u00ea precisa focar principalmente na pasta <code>src\/<\/code>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong><code>src\/Controller\/<\/code><\/strong>: Onde voc\u00ea cria seus controladores.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong><code>src\/Model\/<\/code><\/strong>: Cont\u00e9m as subpastas <code>Table<\/code> (l\u00f3gica de cole\u00e7\u00e3o) e <code>Entity<\/code> (l\u00f3gica de objeto).<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong><code>templates\/<\/code><\/strong>: (Antiga pasta View) Onde ficam os arquivos que geram o HTML.<\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong><code>src\/View\/Helper\/<\/code><\/strong>: Para criar fun\u00e7\u00f5es auxiliares que ser\u00e3o usadas nos templates.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Essa organiza\u00e7\u00e3o \u00e9 o que permite que uma equipe de desenvolvedores trabalhe simultaneamente: enquanto um foca no design do banco (Model), outro pode trabalhar no layout (View) sem que um interfira no c\u00f3digo do outro.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">Por que usar o MVC do CakePHP em vez de PHP Puro?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Manutenibilidade<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Imagine que voc\u00ea precisa mudar o nome de uma coluna no banco de dados. No PHP estruturado, voc\u00ea teria que procurar em todos os arquivos onde fez o <code>SELECT<\/code>. No CakePHP (MVC), voc\u00ea altera apenas na <strong>Model<\/strong>, e o restante da aplica\u00e7\u00e3o continuar\u00e1 funcionando.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">2. Seguran\u00e7a Integrada<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O CakePHP utiliza o padr\u00e3o MVC para injetar camadas de seguran\u00e7a automaticamente. Quando voc\u00ea usa a Model para salvar dados, o framework j\u00e1 trata contra <strong>SQL Injection<\/strong>. Quando usa a View com a fun\u00e7\u00e3o <code>h()<\/code>, ele previne ataques <strong>XSS<\/strong>.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">3. Conven\u00e7\u00e3o sobre Configura\u00e7\u00e3o (CoC)<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Este \u00e9 o &#8220;pulo do gato&#8221;. Se voc\u00ea tem uma tabela chamada <code>artigos<\/code> no banco, e cria um arquivo <code>ArtigosTable.php<\/code>, o CakePHP entende a conex\u00e3o instantaneamente. N\u00e3o \u00e9 preciso escrever queries complexas de conex\u00e3o em todos os arquivos.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">O Ciclo de Vida de uma Requisi\u00e7\u00e3o no CakePHP<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Para entender o MVC de forma definitiva, siga o caminho de um clique do usu\u00e1rio:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">O usu\u00e1rio acessa <code>meusite.com\/artigos\/visualizar\/1<\/code>.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">O <strong>Roteador<\/strong> l\u00ea a URL e chama o <strong>Controller<\/strong> <code>Artigos<\/code> e a fun\u00e7\u00e3o <code>visualizar<\/code>.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">O <strong>Controller<\/strong> pede para a <strong>Model<\/strong> buscar o artigo com ID 1.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">A <strong>Model<\/strong> consulta o banco de dados e retorna uma <strong>Entity<\/strong>.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">O <strong>Controller<\/strong> recebe essa Entity e a entrega para a <strong>View<\/strong>.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">A <strong>View<\/strong> processa o HTML e o envia de volta para o navegador do usu\u00e1rio.<\/li>\n<\/ol>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"559\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_ly5vmbly5vmbly5v-1024x559.png\" alt=\"Ciclo de vida requisi\u00e7\u00e3o no CakePHP\" class=\"wp-image-5832\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_ly5vmbly5vmbly5v-1024x559.png 1024w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_ly5vmbly5vmbly5v-300x164.png 300w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_ly5vmbly5vmbly5v-768x419.png 768w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_ly5vmbly5vmbly5v-1320x720.png 1320w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_ly5vmbly5vmbly5v-920x502.png 920w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_ly5vmbly5vmbly5v.png 1408w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\">Conclus\u00e3o: O Primeiro Passo para a Maestria<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Entender a arquitetura MVC \u00e9 como aprender a ler partituras antes de tocar um instrumento. No in\u00edcio, pode parecer que h\u00e1 &#8220;pastas demais&#8221; ou &#8220;muitos arquivos para uma tarefa simples&#8221;, mas o benef\u00edcio aparece na primeira manuten\u00e7\u00e3o que voc\u00ea precisar fazer.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O <strong>CakePHP<\/strong> n\u00e3o apenas implementa o MVC; ele o aperfei\u00e7oa com ferramentas como o <strong>Bake<\/strong> (que gera todo esse c\u00f3digo para voc\u00ea em segundos) e uma comunidade s\u00f3lida que preza pelo c\u00f3digo limpo.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Se voc\u00ea quer sair do &#8220;zero&#8221; e se tornar um desenvolvedor web profissional, dominar o MVC \u00e9 sua obriga\u00e7\u00e3o. E o CakePHP \u00e9, sem d\u00favida, um dos melhores professores que voc\u00ea poderia escolher.<\/p>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Gostou desta introdu\u00e7\u00e3o?<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Este \u00e9 o primeiro artigo de uma s\u00e9rie de 25 que levar\u00e3o voc\u00ea do absoluto zero ao deploy de aplica\u00e7\u00f5es profissionais. No pr\u00f3ximo post, vamos colocar as m\u00e3os na massa: <strong>Configurando o ambiente para o CakePHP (PHP 8, Composer e Servidor).<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Mas antes de dominar o CakePHP, se for o seu caso, toda jornada tem um in\u00edcio. Vamos entender quais s\u00e3o os conhecimentos b\u00e1sicos necess\u00e1rios para aproveitar ao m\u00e1ximo este poderoso framework. Para iniciar seus estudos no CakePHP, voc\u00ea precisar\u00e1 dominar as seguintes tecnologias:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/html\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/html.webp\" alt=\"HTML\" class=\"wp-image-600\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/html.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/html-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">HTML<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/css\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/Capa-Artigos-Linux.webp\" alt=\"CSS\" class=\"wp-image-702\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/Capa-Artigos-Linux.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/Capa-Artigos-Linux-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">CSS<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/javascript\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/javascript.webp\" alt=\"Javascript\" class=\"wp-image-804\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/javascript.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/javascript-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">JavaScript<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/sql\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2.webp\" alt=\"SQL\" class=\"wp-image-942\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2.webp 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/05\/Capa-Artigos-2-300x169.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">SQL<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"\/blog\/categoria\/php\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"426\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP.png\" alt=\"Capa Curso PHP\" class=\"wp-image-2835\" srcset=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP.png 758w, https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Capa-PHP-300x169.png 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/a><figcaption class=\"wp-element-caption\">PHP<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">E se voc\u00ea gosta do nosso conte\u00fado, n\u00e3o deixe de contribuir adquirindo os servi\u00e7os e produtos dos nossos apoiadores e empresas que somos associados.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/hostinger.com.br\/?REFERRALCODE=1THIAGO62\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/03\/hostinger.png\" alt=\"Hospedagem Hostinger\" class=\"wp-image-92\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNDYlc\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/ofertas-amazon.webp\" alt=\"Ofertas Amazon\" class=\"wp-image-1308\"\/><\/a><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/amzn.to\/3SNKmt0\" target=\"_blank\" rel=\" noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"250\" src=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/08\/amazonprime.webp\" alt=\"Amazon Prime\" class=\"wp-image-1307\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">E por fim e n\u00e3o menos importante, compartilhe nossos artigos com aquele amigo iniciante ou aquele que j\u00e1 trabalha na \u00e1rea e precisa de um material de apoio completinho!<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tempo de leitura: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>Arquitetura CakePHP: Se voc\u00ea est\u00e1 come\u00e7ando no mundo do desenvolvimento web ou se j\u00e1 tem&#8230;<\/p>\n","protected":false},"author":1,"featured_media":5819,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[97],"tags":[],"class_list":["post-5820","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cakephp","wpcat-97-id"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP - BLOG THIAGO ROSSI<\/title>\n<meta name=\"description\" content=\"Entenda o que \u00e9 o padr\u00e3o MVC e como o framework CakePHP utiliza essa arquitetura para criar aplica\u00e7\u00f5es web \u00e1geis, seguras e organizadas...\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP - BLOG THIAGO ROSSI\" \/>\n<meta property=\"og:description\" content=\"Entenda o que \u00e9 o padr\u00e3o MVC e como o framework CakePHP utiliza essa arquitetura para criar aplica\u00e7\u00f5es web \u00e1geis, seguras e organizadas...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/\" \/>\n<meta property=\"og:site_name\" content=\"BLOG THIAGO ROSSI\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-03T14:19:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-04T13:36:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png\" \/>\n\t<meta property=\"og:image:width\" content=\"758\" \/>\n\t<meta property=\"og:image:height\" content=\"426\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thiago Rossi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thiago Rossi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/\"},\"author\":{\"name\":\"Thiago Rossi\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\"},\"headline\":\"O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP\",\"datePublished\":\"2026-04-03T14:19:58+00:00\",\"dateModified\":\"2026-04-04T13:36:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/\"},\"wordCount\":1071,\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/capa-cakephp.png\",\"articleSection\":[\"CakePHP\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/\",\"name\":\"O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP - BLOG THIAGO ROSSI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/capa-cakephp.png\",\"datePublished\":\"2026-04-03T14:19:58+00:00\",\"dateModified\":\"2026-04-04T13:36:46+00:00\",\"description\":\"Entenda o que \u00e9 o padr\u00e3o MVC e como o framework CakePHP utiliza essa arquitetura para criar aplica\u00e7\u00f5es web \u00e1geis, seguras e organizadas...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/capa-cakephp.png\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/capa-cakephp.png\",\"width\":758,\"height\":426,\"caption\":\"CakePHP\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/o-que-e-framework-mvc-cakephp\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"name\":\"THIAGO ROSSI\",\"description\":\"Mais de 20 anos de experi\u00eancia no mercado de TI!\",\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"alternateName\":\"TR | CURSO WEB DEV\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\",\"name\":\"THIAGO ROSSI\",\"alternateName\":\"TR | CURSO WEB DEV\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/new-logo.webp\",\"width\":300,\"height\":300,\"caption\":\"THIAGO ROSSI\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\",\"name\":\"Thiago Rossi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g\",\"caption\":\"Thiago Rossi\"},\"description\":\"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \\\"GDD \u2013 O Guia Definitivo\\\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.\",\"sameAs\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\",\"https:\\\/\\\/instagram.com\\\/thiagorossix86\",\"https:\\\/\\\/linkedin.com\\\/in\\\/thiagox86\"],\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/author\\\/thiagorossi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP - BLOG THIAGO ROSSI","description":"Entenda o que \u00e9 o padr\u00e3o MVC e como o framework CakePHP utiliza essa arquitetura para criar aplica\u00e7\u00f5es web \u00e1geis, seguras e organizadas...","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/","og_locale":"pt_BR","og_type":"article","og_title":"O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP - BLOG THIAGO ROSSI","og_description":"Entenda o que \u00e9 o padr\u00e3o MVC e como o framework CakePHP utiliza essa arquitetura para criar aplica\u00e7\u00f5es web \u00e1geis, seguras e organizadas...","og_url":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/","og_site_name":"BLOG THIAGO ROSSI","article_published_time":"2026-04-03T14:19:58+00:00","article_modified_time":"2026-04-04T13:36:46+00:00","og_image":[{"width":758,"height":426,"url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png","type":"image\/png"}],"author":"Thiago Rossi","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Thiago Rossi","Est. tempo de leitura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/#article","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/"},"author":{"name":"Thiago Rossi","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87"},"headline":"O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP","datePublished":"2026-04-03T14:19:58+00:00","dateModified":"2026-04-04T13:36:46+00:00","mainEntityOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/"},"wordCount":1071,"publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png","articleSection":["CakePHP"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/","url":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/","name":"O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP - BLOG THIAGO ROSSI","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/#primaryimage"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png","datePublished":"2026-04-03T14:19:58+00:00","dateModified":"2026-04-04T13:36:46+00:00","description":"Entenda o que \u00e9 o padr\u00e3o MVC e como o framework CakePHP utiliza essa arquitetura para criar aplica\u00e7\u00f5es web \u00e1geis, seguras e organizadas...","breadcrumb":{"@id":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/#primaryimage","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2026\/04\/capa-cakephp.png","width":758,"height":426,"caption":"CakePHP"},{"@type":"BreadcrumbList","@id":"https:\/\/thiagorossi.com.br\/blog\/o-que-e-framework-mvc-cakephp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thiagorossi.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"O que \u00e9 MVC? Guia Completo da Arquitetura CakePHP"}]},{"@type":"WebSite","@id":"https:\/\/thiagorossi.com.br\/blog\/#website","url":"https:\/\/thiagorossi.com.br\/blog\/","name":"THIAGO ROSSI","description":"Mais de 20 anos de experi\u00eancia no mercado de TI!","publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"alternateName":"TR | CURSO WEB DEV","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thiagorossi.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/thiagorossi.com.br\/blog\/#organization","name":"THIAGO ROSSI","alternateName":"TR | CURSO WEB DEV","url":"https:\/\/thiagorossi.com.br\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/04\/new-logo.webp","width":300,"height":300,"caption":"THIAGO ROSSI"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/linkedin.com\/in\/thiagox86"]},{"@type":"Person","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87","name":"Thiago Rossi","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bb28b4665f4162bab9fbef8db5a7f00597f79ab90ece9a67189bb6bce78d5786?s=96&d=retro&r=g","caption":"Thiago Rossi"},"description":"Com mais de 20 anos de jornada na tecnologia, minha trajet\u00f3ria evoluiu do ensino t\u00e9cnico \u00e0 arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de solu\u00e7\u00f5es de Intelig\u00eancia Artificial nativa e an\u00e1lise de dados p\u00fablicos, utilizando o ecossistema PHP para transformar dados brutos em transpar\u00eancia e efici\u00eancia. Como autor e desenvolvedor, acredito na democratiza\u00e7\u00e3o do conhecimento. Essa vis\u00e3o resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura at\u00e9 os bastidores da ind\u00fastria de Jogos e IA. No universo de Game Design, sou autor do livro \"GDD \u2013 O Guia Definitivo\" e documento ativamente meus processos atrav\u00e9s de DevLogs, unindo rigor t\u00e9cnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso \u00e9 conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.","sameAs":["https:\/\/thiagorossi.com.br\/blog","https:\/\/instagram.com\/thiagorossix86","https:\/\/linkedin.com\/in\/thiagox86"],"url":"https:\/\/thiagorossi.com.br\/blog\/author\/thiagorossi\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/5820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/comments?post=5820"}],"version-history":[{"count":7,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/5820\/revisions"}],"predecessor-version":[{"id":5833,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/5820\/revisions\/5833"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media\/5819"}],"wp:attachment":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=5820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=5820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=5820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}