{"id":2056,"date":"2024-11-21T09:13:43","date_gmt":"2024-11-21T12:13:43","guid":{"rendered":"https:\/\/thiagorossi.com.br\/blog\/?p=2056"},"modified":"2025-12-05T10:24:45","modified_gmt":"2025-12-05T13:24:45","slug":"views-no-laravel","status":"publish","type":"post","link":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/","title":{"rendered":"Views no Laravel"},"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\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>\n<p class=\"has-medium-font-size wp-block-paragraph\">Views no Laravel: As <strong>Views<\/strong> no Laravel representam a camada de <strong>apresenta\u00e7\u00e3o<\/strong> da sua aplica\u00e7\u00e3o (o &#8220;V&#8221; do MVC). Elas s\u00e3o respons\u00e1veis por gerar a interface HTML que o usu\u00e1rio final ver\u00e1 no navegador. O Laravel utiliza o <strong>Blade<\/strong>, um poderoso e elegante motor de <em>templates<\/em>, para permitir que voc\u00ea misture HTML puro com l\u00f3gica de apresenta\u00e7\u00e3o de forma segura e eficiente.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Neste artigo, exploraremos como criar <em>Views<\/em>, passar dados para elas, e como usar as principais funcionalidades do motor <strong>Blade<\/strong>, incluindo <em>layouts<\/em> e <strong>Componentes<\/strong>.<\/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\">1. \ud83d\udcc2 Criando e Localizando Views<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Todas as <em>Views<\/em> do Laravel s\u00e3o armazenadas no diret\u00f3rio <strong><code>resources\/views<\/code><\/strong>. Os arquivos de <em>View<\/em> devem ter a extens\u00e3o <strong><code>.blade.php<\/code><\/strong>, indicando ao Laravel que o motor Blade deve process\u00e1-los.<\/p>\n\n\n\n<figure class=\"wp-block-table has-medium-font-size\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>View<\/strong><\/td><td><strong>Caminho do Arquivo<\/strong><\/td><\/tr><\/thead><tbody><tr><td><code>welcome<\/code><\/td><td><code>resources\/views\/welcome.blade.php<\/code><\/td><\/tr><tr><td><code>posts.index<\/code><\/td><td><code>resources\/views\/posts\/index.blade.php<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\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\">Passando Dados para a View<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O <em>Controller<\/em> \u00e9 o respons\u00e1vel por buscar os dados e envi\u00e1-los para a <em>View<\/em>.<\/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\"><code>\/\/ Controller\npublic function showPost()\n{\n    $title = 'Laravel Views';\n    $version = 12;\n    \n    \/\/ Forma mais comum e limpa: Usando a fun\u00e7\u00e3o compact()\n    return view('post.single', compact('title', 'version'));\n    \n    \/\/ Alternativa: Usando o array expl\u00edcito\n    \/\/ return view('post.single', &#91;'title' =&gt; $title, 'version' =&gt; $version]);\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\">Exibindo Dados na View (Blade)<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">No arquivo <strong><code>post\/single.blade.php<\/code><\/strong>, voc\u00ea acessa as vari\u00e1veis usando a sintaxe de chaves duplas:<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">HTML<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;h1&gt;{{ $title }}&lt;\/h1&gt;\n&lt;p&gt;Desenvolvido na vers\u00e3o {{ $version }}.&lt;\/p&gt;\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\">2. \u2699\ufe0f O Motor de Templates Blade<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O Blade introduz <strong>diretivas<\/strong> que tornam o c\u00f3digo de apresenta\u00e7\u00e3o muito mais leg\u00edvel que o PHP puro.<\/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\">A. Estruturas de Controle<\/h3>\n\n\n\n<figure class=\"wp-block-table has-medium-font-size\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Diretiva<\/strong><\/td><td><strong>Fun\u00e7\u00e3o<\/strong><\/td><td><strong>Exemplo<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong><code>@if<\/code><\/strong>, <strong><code>@else<\/code><\/strong>, <strong><code>@endif<\/code><\/strong><\/td><td>Condicionais<\/td><td><code>@if ($user-&gt;isAdmin())  &lt;h1&gt;Admin&lt;\/h1&gt; <\/code><br><code>@endif<\/code><\/td><\/tr><tr><td><strong><code>@unless<\/code><\/strong><\/td><td>Condicional inversa (se n\u00e3o for&#8230;)<\/td><td><code>@unless (Auth::check()) Fa\u00e7a Login <\/code><br><code>@endunless<\/code><\/td><\/tr><tr><td><strong><code>@foreach<\/code><\/strong>, <strong><code>@endforeach<\/code><\/strong><\/td><td>Itera\u00e7\u00e3o (Loops)<\/td><td><code>@foreach ($posts as $post) <\/code><br><code>&lt;li&gt;{{ $post-&gt;title }}&lt;\/li&gt; <\/code><br><code>@endforeach<\/code><\/td><\/tr><tr><td><strong><code>@empty<\/code><\/strong><\/td><td>Verifica se uma cole\u00e7\u00e3o est\u00e1 vazia (dentro de <code>@foreach<\/code>)<\/td><td><code>@empty($posts) <\/code><br><code>Nenhum post encontrado. <\/code><br><code>@endempty<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\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\">B. Inclus\u00e3o de Views<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A diretiva <code>@include<\/code> permite reutilizar pequenos trechos de HTML.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">HTML<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;header&gt;\n    @include('layouts.partials.navbar')\n&lt;\/header&gt;\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\">3. \ud83d\uddbc\ufe0f Layouts e Heran\u00e7a de Templates<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A <strong>Heran\u00e7a de Templates<\/strong> do Blade permite definir um <strong>Layout Mestre<\/strong> (estrutura da p\u00e1gina) e estender esse layout nas <em>Views<\/em> filhas.<\/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\">A. Layout Mestre (<code>master.blade.php<\/code>)<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O layout mestre define os &#8220;espa\u00e7os&#8221; que as views filhas podem preencher usando as diretivas <code>@yield<\/code> e <code>@show<\/code>.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">HTML<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n    &lt;title&gt;Minha Aplica\u00e7\u00e3o - @yield('title', 'Padr\u00e3o')&lt;\/title&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=\"content\"&gt;\n        @yield('content') \n    &lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&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\">B. View Filha (<code>home.blade.php<\/code>)<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">A <em>View<\/em> filha usa <code>@extends<\/code> para herdar o layout e <code>@section<\/code> para preencher os espa\u00e7os.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">HTML<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@extends('layouts.master')\n\n@section('title')\n    &lt;title&gt;HOME | P\u00e1gina Inicial&lt;\/title&gt;\n@endsection\n\n@section('content')\n    &lt;h1&gt;Bem-vindo!&lt;\/h1&gt;\n    &lt;p&gt;Este \u00e9 o conte\u00fado principal da p\u00e1gina.&lt;\/p&gt;\n@endsection\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\">4. \ud83e\udde9 Componentes Blade (Melhor Pr\u00e1tica)<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Componentes Blade s\u00e3o a forma moderna e poderosa de criar <strong>elementos de interface reutiliz\u00e1veis<\/strong> (como bot\u00f5es, alertas, ou formul\u00e1rios complexos).<\/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\">A. Criando um Componente Simples<\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li class=\"has-medium-font-size\"><strong>Gere o Componente:<\/strong><br>Bash<br><code>php artisan make:component Alert # Cria a view em resources\/views\/components\/alert.blade.php<\/code><\/li>\n\n\n\n<li class=\"has-medium-font-size\"><strong>Defina a Estrutura (View):<\/strong><br>HTML<br><code>&lt;div class=\"alert alert-info\" role=\"alert\"&gt; {{ $slot }} &lt;\/div&gt;<\/code><\/li>\n<\/ol>\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\">B. Usando o Componente<\/h3>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">O componente \u00e9 chamado usando a sintaxe <strong><code>&lt;x-nome-do-componente&gt;<\/code><\/strong>:<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">HTML<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@section('content')\n    &lt;x-alert&gt;\n        Sua conta foi criada com sucesso!\n    &lt;\/x-alert&gt;\n@endsection\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\">5. \ud83d\udcce Inclus\u00e3o de Assets (CSS\/JS)<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Seus arquivos de <em>Assets<\/em> (CSS, JavaScript, Imagens) devem ser colocados no diret\u00f3rio <strong><code>public<\/code><\/strong>. Para referenci\u00e1-los de forma segura e din\u00e2mica no seu layout mestre, use a fun\u00e7\u00e3o auxiliar <code>asset()<\/code>.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">HTML<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;link rel=\"stylesheet\" href=\"{{ asset('assets\/css\/style.css') }}\"\/&gt;\n\n&lt;script src=\"{{ asset('assets\/js\/script.js') }}\"&gt;&lt;\/script&gt;\n<\/code><\/pre>\n\n\n\n<div style=\"height:35px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Nota:<\/strong> Usar <code>asset()<\/code> garante que o caminho base do seu projeto seja sempre referenciado corretamente, mesmo que sua aplica\u00e7\u00e3o esteja em um subdiret\u00f3rio do servidor.<\/p>\n<\/blockquote>\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\">\u2705 Conclus\u00e3o Views no Laravel<\/h2>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>Views no Laravel<\/strong>: As <em>Views<\/em> s\u00e3o a camada visual essencial no Laravel. Com o motor <strong>Blade<\/strong>, voc\u00ea pode criar interfaces din\u00e2micas usando estruturas de controle PHP de forma limpa e segura, gra\u00e7as \u00e0 <strong>escapagem autom\u00e1tica de HTML<\/strong>. A utiliza\u00e7\u00e3o estrat\u00e9gica de <strong>Heran\u00e7a de Templates<\/strong> e <strong>Componentes Blade<\/strong> \u00e9 a melhor pr\u00e1tica para desenvolver um <em>front-end<\/em> organizado, modular e altamente reutiliz\u00e1vel.<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\">Mas antes de dominar o Laravel, 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 Laravel, 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=\"\/category\/html\"><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=\"\/category\/css\"><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=\"\/category\/javascript\"><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=\"\/category\/sql\"><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=\"\/category\/php\"><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\"><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\"><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\"><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","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\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>Views no Laravel: As Views no Laravel representam a camada de apresenta\u00e7\u00e3o da sua aplica\u00e7\u00e3o&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1642,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-2056","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","wpcat-18-id"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Views no Laravel - BLOG THIAGO ROSSI<\/title>\n<meta name=\"description\" content=\"Views no Laravel: Neste artigo, vamos explorar em detalhes o conceito de views no Laravel, como cri\u00e1-las, personalizar e integrar com a...\" \/>\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\/views-no-laravel\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Views no Laravel - BLOG THIAGO ROSSI\" \/>\n<meta property=\"og:description\" content=\"Views no Laravel: Neste artigo, vamos explorar em detalhes o conceito de views no Laravel, como cri\u00e1-las, personalizar e integrar com a...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/\" \/>\n<meta property=\"og:site_name\" content=\"BLOG THIAGO ROSSI\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-21T12:13:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-05T13:24:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp\" \/>\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\/webp\" \/>\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=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/\"},\"author\":{\"name\":\"Thiago Rossi\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/5f28286948ec2afdeb2e044a2196cd87\"},\"headline\":\"Views no Laravel\",\"datePublished\":\"2024-11-21T12:13:43+00:00\",\"dateModified\":\"2025-12-05T13:24:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/\"},\"wordCount\":577,\"publisher\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Laravel.webp\",\"articleSection\":[\"Laravel\"],\"inLanguage\":\"pt-BR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/\",\"name\":\"Views no Laravel - BLOG THIAGO ROSSI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Laravel.webp\",\"datePublished\":\"2024-11-21T12:13:43+00:00\",\"dateModified\":\"2025-12-05T13:24:45+00:00\",\"description\":\"Views no Laravel: Neste artigo, vamos explorar em detalhes o conceito de views no Laravel, como cri\u00e1-las, personalizar e integrar com a...\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Laravel.webp\",\"contentUrl\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/11\\\/Laravel.webp\",\"width\":758,\"height\":426,\"caption\":\"Laravel\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/views-no-laravel\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Views no Laravel\"}]},{\"@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 experi\u00eancia em tecnologia, atuo como Engenheiro de Computa\u00e7\u00e3o, desenvolvedor de sistemas, escritor e produtor de conte\u00fado. Minha trajet\u00f3ria passa pelo ensino t\u00e9cnico, desenvolvimento web, arquitetura de sistemas e cria\u00e7\u00e3o de solu\u00e7\u00f5es voltadas para a ind\u00fastria de jogos digitais. Acredito que conhecimento deve ser acess\u00edvel e aplic\u00e1vel. Essa vis\u00e3o resultou em uma biblioteca com mais de 550 artigos gratuitos, abrangendo temas como desenvolvimento web, infraestrutura, intelig\u00eancia artificial, Game Design, mercado de jogos e carreiras na ind\u00fastria de games. Sou autor do livro \\\"GDD \u2013 O Guia Definitivo\\\", uma obra dedicada ao planejamento e documenta\u00e7\u00e3o de jogos digitais, e criador do GameMeTRix, uma plataforma que auxilia desenvolvedores na an\u00e1lise e valida\u00e7\u00e3o de ideias para jogos. Meu trabalho busca conectar planejamento, tecnologia e mercado para ajudar criadores a transformar boas ideias em projetos vi\u00e1veis. Atualmente concentro meus estudos e projetos no desenvolvimento de jogos web, na cria\u00e7\u00e3o de metodologias para valida\u00e7\u00e3o de produtos digitais e na produ\u00e7\u00e3o de conte\u00fado t\u00e9cnico voltado ao ecossistema de jogos. Meu compromisso \u00e9 unir teoria, pr\u00e1tica e experi\u00eancia de mercado para contribuir com o crescimento de novos desenvolvedores e profissionais da \u00e1rea.\",\"sameAs\":[\"https:\\\/\\\/thiagorossi.com.br\\\/blog\",\"https:\\\/\\\/instagram.com\\\/thiagorossix86\"],\"url\":\"https:\\\/\\\/thiagorossi.com.br\\\/blog\\\/author\\\/thiagorossi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Views no Laravel - BLOG THIAGO ROSSI","description":"Views no Laravel: Neste artigo, vamos explorar em detalhes o conceito de views no Laravel, como cri\u00e1-las, personalizar e integrar com a...","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\/views-no-laravel\/","og_locale":"pt_BR","og_type":"article","og_title":"Views no Laravel - BLOG THIAGO ROSSI","og_description":"Views no Laravel: Neste artigo, vamos explorar em detalhes o conceito de views no Laravel, como cri\u00e1-las, personalizar e integrar com a...","og_url":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/","og_site_name":"BLOG THIAGO ROSSI","article_published_time":"2024-11-21T12:13:43+00:00","article_modified_time":"2025-12-05T13:24:45+00:00","og_image":[{"width":758,"height":426,"url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp","type":"image\/webp"}],"author":"Thiago Rossi","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Thiago Rossi","Est. tempo de leitura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/#article","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/"},"author":{"name":"Thiago Rossi","@id":"https:\/\/thiagorossi.com.br\/blog\/#\/schema\/person\/5f28286948ec2afdeb2e044a2196cd87"},"headline":"Views no Laravel","datePublished":"2024-11-21T12:13:43+00:00","dateModified":"2025-12-05T13:24:45+00:00","mainEntityOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/"},"wordCount":577,"publisher":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#organization"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp","articleSection":["Laravel"],"inLanguage":"pt-BR"},{"@type":"WebPage","@id":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/","url":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/","name":"Views no Laravel - BLOG THIAGO ROSSI","isPartOf":{"@id":"https:\/\/thiagorossi.com.br\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/#primaryimage"},"image":{"@id":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/#primaryimage"},"thumbnailUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp","datePublished":"2024-11-21T12:13:43+00:00","dateModified":"2025-12-05T13:24:45+00:00","description":"Views no Laravel: Neste artigo, vamos explorar em detalhes o conceito de views no Laravel, como cri\u00e1-las, personalizar e integrar com a...","breadcrumb":{"@id":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/#primaryimage","url":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp","contentUrl":"https:\/\/thiagorossi.com.br\/blog\/wp-content\/uploads\/2024\/11\/Laravel.webp","width":758,"height":426,"caption":"Laravel"},{"@type":"BreadcrumbList","@id":"https:\/\/thiagorossi.com.br\/blog\/views-no-laravel\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thiagorossi.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"Views no Laravel"}]},{"@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 experi\u00eancia em tecnologia, atuo como Engenheiro de Computa\u00e7\u00e3o, desenvolvedor de sistemas, escritor e produtor de conte\u00fado. Minha trajet\u00f3ria passa pelo ensino t\u00e9cnico, desenvolvimento web, arquitetura de sistemas e cria\u00e7\u00e3o de solu\u00e7\u00f5es voltadas para a ind\u00fastria de jogos digitais. Acredito que conhecimento deve ser acess\u00edvel e aplic\u00e1vel. Essa vis\u00e3o resultou em uma biblioteca com mais de 550 artigos gratuitos, abrangendo temas como desenvolvimento web, infraestrutura, intelig\u00eancia artificial, Game Design, mercado de jogos e carreiras na ind\u00fastria de games. Sou autor do livro \"GDD \u2013 O Guia Definitivo\", uma obra dedicada ao planejamento e documenta\u00e7\u00e3o de jogos digitais, e criador do GameMeTRix, uma plataforma que auxilia desenvolvedores na an\u00e1lise e valida\u00e7\u00e3o de ideias para jogos. Meu trabalho busca conectar planejamento, tecnologia e mercado para ajudar criadores a transformar boas ideias em projetos vi\u00e1veis. Atualmente concentro meus estudos e projetos no desenvolvimento de jogos web, na cria\u00e7\u00e3o de metodologias para valida\u00e7\u00e3o de produtos digitais e na produ\u00e7\u00e3o de conte\u00fado t\u00e9cnico voltado ao ecossistema de jogos. Meu compromisso \u00e9 unir teoria, pr\u00e1tica e experi\u00eancia de mercado para contribuir com o crescimento de novos desenvolvedores e profissionais da \u00e1rea.","sameAs":["https:\/\/thiagorossi.com.br\/blog","https:\/\/instagram.com\/thiagorossix86"],"url":"https:\/\/thiagorossi.com.br\/blog\/author\/thiagorossi\/"}]}},"_links":{"self":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/2056","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=2056"}],"version-history":[{"count":2,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/2056\/revisions"}],"predecessor-version":[{"id":5162,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/posts\/2056\/revisions\/5162"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media\/1642"}],"wp:attachment":[{"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/media?parent=2056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/categories?post=2056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagorossi.com.br\/blog\/wp-json\/wp\/v2\/tags?post=2056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}