{"id":62131,"date":"2023-11-15T07:13:55","date_gmt":"2023-11-15T10:13:55","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=62131&#038;preview=true&#038;preview_id=62131"},"modified":"2023-11-20T09:55:32","modified_gmt":"2023-11-20T12:55:32","slug":"laravel-blade","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/","title":{"rendered":"Entendendo o Laravel Blade e Como Us\u00e1-lo"},"content":{"rendered":"<p>Os mecanismos de cria\u00e7\u00e3o de templates do <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-laravel\/\">Laravel<\/a> s\u00e3o compat\u00edveis com React, Vue e outras bibliotecas. Contudo, o que realmente encanta os desenvolvedores \u00e9 a efici\u00eancia do Laravel <a href=\"https:\/\/laravel.com\/docs\/10.x\/blade\" target=\"_blank\" rel=\"noopener noreferrer\">Blade<\/a> na cria\u00e7\u00e3o r\u00e1pida de views modulares e reutiliz\u00e1veis. Com o Blade, \u00e9 f\u00e1cil estender layouts, definir se\u00e7\u00f5es e utilizar estruturas de controle para gerar conte\u00fado baseado em dados.<\/p>\n<p>Este artigo pr\u00e1tico explora o que \u00e9 o Blade, como funciona e como aprimora seus aplicativos Laravel.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Tudo o que voc\u00ea precisa para usar o Laravel Blade<\/h2>\n<p>O Blade \u00e9 o template engine padr\u00e3o do framework Laravel. Ele permite que voc\u00ea use vari\u00e1veis, loops, instru\u00e7\u00f5es condicionais e outros recursos PHP diretamente em seu c\u00f3digo HTML. Para criar arquivos Blade, basta definir as views do blade criando arquivos com a extens\u00e3o <code>.blade.php<\/code> no diret\u00f3rio <strong>resources\/views<\/strong> do seu projeto Laravel e, em seguida, estruturar suas p\u00e1ginas din\u00e2micas preferidas nesses arquivos.<\/p>\n<h3>Por que voc\u00ea deve usar o Blade?<\/h3>\n<p>Um dos principais benef\u00edcios do Blade \u00e9 a organiza\u00e7\u00e3o modular do c\u00f3digo. O Blade ajuda a organizar seu c\u00f3digo em m\u00f3dulos reutiliz\u00e1veis que voc\u00ea pode adicionar, remover ou atualizar facilmente sem afetar o restante do aplicativo.<\/p>\n<p>O encapsulamento do c\u00f3digo \u00e9 outra vantagem. O Blade ajuda a encapsular as fun\u00e7\u00f5es, tornando os testes, a depura\u00e7\u00e3o e a manuten\u00e7\u00e3o do c\u00f3digo mais gerenci\u00e1veis. Essa abordagem beneficia aplicativos maiores, pois aplicativos desorganizados podem se tornar rapidamente dif\u00edceis de gerenciar.<\/p>\n<p>O mecanismo de cria\u00e7\u00e3o de templates do Blade \u00e9 eficiente e o <a href=\"https:\/\/kinsta.com\/pt\/blog\/benchmarks-definitivos-do-php\/\">framework PHP mais r\u00e1pido que testamos<\/a>. O engine compila todas as views do blade em c\u00f3digo PHP simples, e em seguida as armazena em cache at\u00e9 que voc\u00ea as modifique. Essa abordagem promove uma renderiza\u00e7\u00e3o mais r\u00e1pida e um melhor desempenho geral.<\/p>\n\n<h2>Como usar o Laravel Blade<\/h2>\n<p>Neste tutorial, criamos um aplicativo Laravel para voc\u00ea experimentar os templates do Blade em a\u00e7\u00e3o. Voc\u00ea aprender\u00e1 a definir e estender layouts do blade, passar dados entre views do blade, usar as v\u00e1rias estruturas de controle dispon\u00edveis e criar seus pr\u00f3prios blades.<\/p>\n<h3>Pr\u00e9-requisitos<\/h3>\n<p>Para seguir este tutorial, verifique se voc\u00ea possui:<\/p>\n<ul>\n<li>Familiaridade pr\u00e9via com PHP<\/li>\n<li>O\u00a0<a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Composer<\/a> instalado. Confira se o Composer est\u00e1 em seu sistema executando <code>composer -V<\/code><\/li>\n<\/ul>\n<p>Consulte o <a href=\"https:\/\/github.com\/VirtuaCreative\/kinsta-laravel-blade\/tree\/main\" target=\"_blank\" rel=\"noopener noreferrer\">c\u00f3digo completo do tutorial<\/a> para obter orienta\u00e7\u00e3o durante o trabalho.<\/p>\n<h2>Como criar o aplicativo Laravel<\/h2>\n<p>Para criar um aplicativo Laravel de amostra, execute:<\/p>\n<pre><code class=\"language-bash\">composer create-project laravel\/laravel my-app<\/code><\/pre>\n<p>Siga o conjunto de instru\u00e7\u00f5es em seu terminal para concluir a cria\u00e7\u00e3o do aplicativo.<\/p>\n<div class=\"flex-1 overflow-hidden\">\n<div class=\"react-scroll-to-bottom--css-ijasl-79elbk h-full\">\n<div class=\"react-scroll-to-bottom--css-ijasl-1n7m0yu\">\n<div class=\"flex flex-col text-sm gizmo:pb-9 dark:bg-gray-800 gizmo:dark:bg-transparent\">\n<div class=\"w-full text-token-text-primary border-b border-black\/10 gizmo:border-0 dark:border-gray-900\/50 gizmo:dark:border-0 bg-gray-50 gizmo:bg-transparent dark:bg-[#444654] gizmo:dark:bg-transparent\" data-testid=\"conversation-turn-45\">\n<div class=\"p-4 gizmo:py-2 justify-center text-base md:gap-6 md:py-6 m-auto\">\n<div class=\"flex flex-1 gap-4 text-base mx-auto md:gap-6 gizmo:gap-3 gizmo:md:px-5 gizmo:lg:px-1 gizmo:xl:px-5 md:max-w-3xl } group final-completion\">\n<div class=\"relative flex w-[calc(100%-50px)] flex-col gizmo:w-full lg:w-[calc(100%-115px)] agent-turn\">\n<div class=\"flex-col gap-1 md:gap-3\">\n<div class=\"flex flex-grow flex-col max-w-full gap-3 gizmo:gap-0\">\n<div class=\"min-h-[20px] text-message flex flex-col items-start gap-3 whitespace-pre-wrap break-words [.text-message+&#038;]:mt-5 overflow-x-auto\" data-message-author-role=\"assistant\" data-message-id=\"ba64280e-38e4-42f9-a3bd-275dae6f49d3\">\n<div class=\"markdown prose w-full break-words dark:prose-invert dark\">\n<p>Em seguida, acesse o diret\u00f3rio do aplicativo e inicie o servidor com este comando:<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<pre><code class=\"language-bash\">cd my-app\nphp artisan serve<\/code><\/pre>\n<p>Clique no link no terminal para abrir a p\u00e1gina de boas-vindas do Laravel em seu navegador.<\/p>\n\n<h2>Como definir o layout<\/h2>\n<p>Os layouts permitem que voc\u00ea configure se\u00e7\u00f5es do seu aplicativo web para compartilhar em v\u00e1rias p\u00e1ginas. Por exemplo, se o aplicativo tiver uma barra de navega\u00e7\u00e3o e um rodap\u00e9 consistentes em todas as p\u00e1ginas, \u00e9 mais eficiente cri\u00e1-los uma vez do que constru\u00ed-los novamente para cada p\u00e1gina.<\/p>\n<p>Antes de seguir as instru\u00e7\u00f5es passo a passo, veja a demonstra\u00e7\u00e3o a seguir.<\/p>\n<p>O c\u00f3digo para criar sites sem layouts \u00e9 mostrado abaixo. Isso faz com que voc\u00ea reescreva o c\u00f3digo da barra de navega\u00e7\u00e3o e do rodap\u00e9 para cada p\u00e1gina.<\/p>\n<pre><code class=\"language-html\">&lt;!-- Page 1 --&gt;\n&lt;nav&gt;. . . &lt;\/nav&gt;\n  Content for page 1\n&lt;footer&gt; . . . &lt;\/footer&gt;<\/code><\/pre>\n<pre><code class=\"language-html\">&lt;!-- Page 2 --&gt;\n&lt;nav&gt;. . . &lt;\/nav&gt;\n  Content for page 2\n&lt;footer&gt; . . . &lt;\/footer&gt;<\/code><\/pre>\n<p>Em vez disso, voc\u00ea pode criar facilmente seu aplicativo usando layouts para compartilhar os mesmos componentes em um \u00fanico bloco de c\u00f3digo:<\/p>\n<pre><code class=\"language-html\">&lt;!-- Main layout code --&gt;\n&lt;nav&gt;. . . &lt;\/nav&gt;\n{slot}\n&lt;footer&gt; . . . &lt;\/footer&gt;<\/code><\/pre>\n<p>Uma vez definido o layout, voc\u00ea pode us\u00e1-lo em qualquer p\u00e1gina que desejar:<\/p>\n<pre><code class=\"language-html\">&lt;!-- Page 1 or Page n --&gt;\n&lt;main-layout&gt;\n  Content for page n\n&lt;\/main-layout&gt;<\/code><\/pre>\n<p>Em vers\u00f5es anteriores do Laravel, era necess\u00e1rio criar layouts usando <a href=\"https:\/\/laravel.com\/docs\/10.x\/blade#layouts-using-template-inheritance\">heran\u00e7a de templates<\/a>. No entanto, quando a empresa adicionou o recurso de <a href=\"https:\/\/laravel.com\/docs\/10.x\/blade#components\">componentes<\/a>, tornou-se muito mais f\u00e1cil criar layouts robustos.<\/p>\n<p>Para criar um novo layout com o Laravel Blade, primeiro voc\u00ea deve executar este comando para criar o componente do layout:<\/p>\n<pre><code class=\"language-bash\">php artisan make:component Layout<\/code><\/pre>\n<p>Esse comando gera um novo arquivo <strong>layout.blade.php<\/strong> localizado em uma nova pasta chamada <strong>components<\/strong> no diret\u00f3rio <strong>resources\/views\/<\/strong>. Abra esse arquivo e cole este c\u00f3digo:<\/p>\n<pre><code class=\"language-php\">&lt;html&gt;\n  &lt;head&gt;\n    &lt;title&gt;{{ $title ?? 'Example Website' }}&lt;\/title&gt;\n    &lt;link rel=\"stylesheet\" href=\"{{ asset('\/css\/app.css') }}\"&gt;\n  &lt;\/head&gt;\n  &lt;body&gt;\n    &lt;nav&gt;\n      &lt;h3&gt;Welcome to my website&lt;\/h3&gt;\n      &lt;hr&gt;\n    &lt;\/nav&gt;\n    {{ $slot }}\n    &lt;footer&gt;\n      &lt;hr \/&gt;\n      \u00a9 2023 example.com\n    &lt;\/footer&gt;\n  &lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>\n<p>Esse c\u00f3digo cria um componente de layout com uma barra de navega\u00e7\u00e3o e um rodap\u00e9 simples. A fun\u00e7\u00e3o <code><a href=\"https:\/\/laravel.com\/docs\/5.5\/blade#components-and-slots\" target=\"_blank\" rel=\"noopener noreferrer\">slot<\/a><\/code> define para onde passar o conte\u00fado principal sempre que voc\u00ea estender o componente de layout.<\/p>\n<h2>Como estender o layout<\/h2>\n<p>Voc\u00ea pode importar facilmente um componente em uma view do blade usando a tag <code>&lt;x-component-name&gt;<\/code>. Esse m\u00e9todo tamb\u00e9m se aplica ao componente de layout que voc\u00ea criou anteriormente.<\/p>\n<p>Para ver como voc\u00ea pode estender o layout, abra o arquivo padr\u00e3o <strong>resources\/views\/welcome.blade.php<\/strong> e substitua o conte\u00fado do arquivo por este c\u00f3digo:<\/p>\n<pre><code class=\"language-html\">&lt;x-layout&gt;\n  &lt;div&gt;\n\t&lt;h1&gt;Hello World!&lt;\/h1&gt;\n\t&lt;p&gt;Lorem ipsum dolor sit amet consectetur adipiscing elit. Hic, aut?&lt;\/p&gt;\n    &lt;button class=\"btn\"&gt;Get Started&lt;\/button&gt;\n  &lt;\/div&gt;\n&lt;\/x-layout&gt;<\/code><\/pre>\n<p>Essa abordagem atualiza a p\u00e1gina de boas-vindas para usar o componente de layout e ao mesmo tempo passa um elemento de t\u00edtulo e um par\u00e1grafo com algum texto simulado como conte\u00fado. Recarregue o link que voc\u00ea abriu anteriormente para ver as altera\u00e7\u00f5es.<\/p>\n<p>Em sua defini\u00e7\u00e3o de layout, observe que o c\u00f3digo renderizou como dado de t\u00edtulo &#8220;Example Website&#8221;, padr\u00e3o se o c\u00f3digo n\u00e3o passa os dados de t\u00edtulo. Voc\u00ea pode passar esses dados como slots nomeados em suas views por meio do c\u00f3digo <code>&lt;x-slot name=\"slotName\" \/&gt;<\/code> \u2014 neste caso, <code>&lt;x-slot name=\"title\" \/&gt;<\/code>. Atualize o arquivo <strong>welcome.blade.php<\/strong> com o c\u00f3digo abaixo e recarregue a p\u00e1gina:<\/p>\n<pre><code class=\"language-html\">&lt;x-layout&gt;\n  &lt;x-slot name=\"title\"&gt;\n    Home | Example Website\n  &lt;\/x-slot&gt;\n  &lt;div&gt;\n  &lt;h1&gt;Hello World!&lt;\/h1&gt;\n  &lt;p&gt;Lorem ipsum dolor sit amet consectetur adipiscing elit. Hic, aut?&lt;\/p&gt;\n    &lt;button class=\"btn\"&gt;Get Started&lt;\/button&gt;\n  &lt;\/div&gt;\n&lt;\/x-layout&gt;<\/code><\/pre>\n<p>Em seguida, adicione alguns estilos para melhorar a apar\u00eancia do aplicativo. Crie um novo arquivo <strong>app.css<\/strong> dentro do diret\u00f3rio <strong>\/public\/css<\/strong> e, em seguida, cole o c\u00f3digo deste <a href=\"https:\/\/github.com\/VirtuaCreative\/kinsta-laravel-blade\/blob\/main\/public\/css\/app.css\">arquivo<\/a>.<\/p>\n<p>Com todas essas atualiza\u00e7\u00f5es, voc\u00ea dever\u00e1 ver o seguinte resultado quando visualizar o aplicativo em http:\/\/127.0.0.1:8000\/:<\/p>\n<figure style=\"width: 1999px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/laravel-blade-app-hello-world.jpg\" alt=\"Hello world laravel \" width=\"1999\" height=\"1096\"><figcaption class=\"wp-caption-text\">Hello world.<\/figcaption><\/figure>\n<h2>Como incluir dados de backend<\/h2>\n<p>No exemplo anterior, voc\u00ea compartilhou prontamente dados entre componentes e views por meio de slots. Entretanto, h\u00e1 abordagens melhores para carregar dados de um banco de dados ou de outra fonte remota.<\/p>\n<p>Nesse caso, carregue e passe os dados diretamente da defini\u00e7\u00e3o do roteador e acesse-os como voc\u00ea acessou um slot nomeado no exemplo anterior. Para fazer isso, abra o arquivo<strong> routes\/web.php<\/strong> e substitua seu conte\u00fado por este c\u00f3digo:<\/p>\n<pre><code class=\"language-php\">&lt;?php\nuse Illuminate\\Support\\Facades\\Route;\n\nRoute::get('\/', function () {\n  $name = \"John Doe\";\n  return view('welcome', ['name' =&gt; $name]);\n});<\/code><\/pre>\n<p>No c\u00f3digo acima, voc\u00ea atualizou sua rota da web para passar o nome <code>\"John Doe\"<\/code> para a view de boas-vindas. Agora, acesse esse valor em suas views do blade desta forma:<\/p>\n<pre class=\"language-php\"><code class=\"language-php\"><span class=\"token operator\">&lt;<\/span>div<span class=\"token operator\">&gt;<\/span>\n  Hello<span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">{<\/span><span class=\"token punctuation\">{<\/span> <span class=\"token variable\">$name<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">}<\/span>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">--<\/span> Outputs<span class=\"token punctuation\">:<\/span> Hello<span class=\"token punctuation\">,<\/span> John Doe <span class=\"token operator\">--<\/span><span class=\"token operator\">&gt;<\/span>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>div<span class=\"token operator\">&gt;<\/span><\/code><\/pre>\n<p>Voc\u00ea pode usar esse m\u00e9todo para carregar dados de um banco de dados. Por exemplo, suponha que voc\u00ea tenha uma tabela de tarefas que contenha uma lista de tarefas. Use o <a href=\"https:\/\/laravel.com\/docs\/10.x\/database#running-queries\">DB facade<\/a>\u00a0para carregar essas tarefas e pass\u00e1-las para sua view:<\/p>\n<pre><code class=\"language-php\">&lt;?php\nuse Illuminate\\Support\\Facades\\DB; \/\/ Import DB Facade\nuse Illuminate\\Support\\Facades\\Route;\n\nRoute::get('\/', function () {\n  $todos = DB::table('todos')-&gt;get();\n  return view('welcome', ['todos' =&gt; $todos]);\n});<\/code><\/pre>\n<p>No entanto, se voc\u00ea n\u00e3o tiver um banco de dados, atualize a rota de entrada na web para passar um array de tarefas est\u00e1ticas. Abra o arquivo <strong>routes\/web.php<\/strong> e atualize a rota padr\u00e3o <code>(\/)<\/code> com o c\u00f3digo abaixo:<\/p>\n<pre><code class=\"language-php\">Route::get('\/', function () {\n  $todos = ['Learn Laravel', 'Learn Blade', 'Build Cool Stuff'];\n  return view('welcome', ['todos' =&gt; $todos]);\n});<\/code><\/pre>\n<p>Substitua o conte\u00fado do arquivo <strong>welcome.blade.php<\/strong> pelo c\u00f3digo abaixo para acessar as tarefas como um array JSON codificado.<\/p>\n<pre><code class=\"language-php\">&lt;x-layout&gt;\n  &lt;x-slot name=\"title\"&gt;\n    Home | Example Website\n  &lt;\/x-slot&gt;\n  &lt;p&gt;{{ json_encode($todos) }}&lt;\/p&gt;\n  <!-- Output: [\"Learn Laravel\",\"Learn Blade\",\"Build Cool Stuff\"] -->\n&lt;\/x-layout&gt;<\/code><\/pre>\n<h2>Como usar os atalhos de controle<\/h2>\n<p>O template engine do Blade tamb\u00e9m oferece suporte a v\u00e1rias diretivas para renderizar v\u00e1rios tipos de dados condicionalmente. Por exemplo, para percorrer o array de tarefas retornado que voc\u00ea passou para a view de boas-vindas, aplique um loop <code>foreach<\/code> colando o seguinte c\u00f3digo no arquivo <strong>welcome.blade.php<\/strong>:<\/p>\n<pre><code class=\"language-php\">&lt;x-layout&gt;\n  &lt;x-slot name=\"title\"&gt;\n    Home | Example Website\n  &lt;\/x-slot&gt;\n  &lt;ul&gt;\n    @foreach ($todos as $todo)\n      &lt;li&gt;{{ $todo }}&lt;\/li&gt;\n    @endforeach\n  &lt;\/ul&gt;     \n&lt;\/x-layout&gt;<\/code><\/pre>\n<p>Essa altera\u00e7\u00e3o deve renderizar suas tarefas em uma lista n\u00e3o ordenada, como na captura de tela abaixo.<\/p>\n<figure style=\"width: 1999px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/laravel-app-todos-list.jpg\" alt=\"Tarefas em uma lista n\u00e3o ordenada.\" width=\"1999\" height=\"1001\"><figcaption class=\"wp-caption-text\">Tarefas em uma lista n\u00e3o ordenada.<\/figcaption><\/figure>\n<p>Para criar um bloco de instru\u00e7\u00f5es condicionais, use as diretivas <code>@if<\/code>, <code>@elseif<\/code>, <code>@else<\/code> e <code>@endif<\/code>. Por exemplo:<\/p>\n<pre><code class=\"language-php\">@if (count($todos) === 1)\n  &lt;p&gt;I have one task!&lt;\/p&gt;\n@elseif (count($todos) &gt; 1)\n  &lt;p&gt;I have multiple tasks!&lt;\/p&gt;\n@else\n  &lt;p&gt;I don't have any tasks!&lt;\/p&gt;\n@endif<\/code><\/pre>\n<p>Substitua o conte\u00fado do arquivo<strong> welcome.blade.php<\/strong> pelo c\u00f3digo acima. As diretivas <code>if<\/code>\u2014<code>else<\/code> contam os itens de tarefas e exibem uma mensagem personalizada para diferentes cen\u00e1rios. Como voc\u00ea tem mais de uma tarefa em seu array de tarefas, dever\u00e1 ver o resultado &#8220;I have multiple tasks!&#8221; no navegador.<\/p>\n<p>Voc\u00ea pode encontrar mais diretivas suportadas na <a href=\"https:\/\/laravel.com\/docs\/10.x\/blade#blade-directives\" target=\"_blank\" rel=\"noopener noreferrer\">documenta\u00e7\u00e3o do Laravel<\/a>.<\/p>\n<h2>Como criar uma extens\u00e3o personalizada<\/h2>\n<p>Voc\u00ea tamb\u00e9m pode escrever uma diretiva personalizada, semelhante ao exemplo anterior. Para explorar essa t\u00e9cnica, crie uma diretiva de truncamento de texto personalizada.<\/p>\n<p>Primeiro, crie um novo <a href=\"https:\/\/laravel.com\/docs\/10.x\/providers\" target=\"_blank\" rel=\"noopener noreferrer\">provedor de servi\u00e7os<\/a> executando:<\/p>\n<pre><code class=\"language-bash\">php artisan make:provider TruncateTextServiceProvider<\/code><\/pre>\n<p>Esse comando gera um novo arquivo de provedor de servi\u00e7os em <strong>app\/Providers\/TruncateTextServiceProvider.php<\/strong>. Abra esse arquivo e substitua seu conte\u00fado por:<\/p>\n<pre><code class=\"language-php\">&lt;?php\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\Facades\\Blade;\nuse Illuminate\\Support\\ServiceProvider;\n\nclass TruncateTextServiceProvider extends ServiceProvider\n{\n  public function register()\n  {\n    \/\/\n  }\n  public function boot()\n  {\n    Blade::directive('truncate', function ($expression) {\n      list($text, $length) = explode(',', $expression);\n      return \"&lt;?php echo Str::limit($text, $length); ?&gt;\";\n    });\n  }\n}<\/code><\/pre>\n<p>O c\u00f3digo importa o Blade facade e define uma nova diretiva personalizada chamada <code>@truncate<\/code>. A diretiva aceita dois argumentos: <code>$text<\/code> e <code>$length<\/code>. Ela usa o m\u00e9todo <code>Str::limit()<\/code> para truncar o texto at\u00e9 o tamanho especificado.<\/p>\n<p>Por fim, registre o provedor de servi\u00e7os adicionando ao array de provedores no arquivo de configura\u00e7\u00e3o <strong>config\/app.php<\/strong>:<\/p>\n<pre><code class=\"language-php\">'providers' =&gt; [\n  \/\/ Other service providers\n  App\\Providers\\TruncateTextServiceProvider::class,\n],\n<\/code><\/pre>\n<p>Use a diretiva personalizada em seus templates do Blade <strong>(welcome.blade.php<\/strong>) invocando por meio da sintaxe <code>@truncate<\/code>.<\/p>\n<pre class=\"language-php\"><code class=\"language-php\"><span class=\"token operator\">&lt;<\/span>div<span class=\"token operator\">&gt;<\/span>\n  @<span class=\"token function\">truncate<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string single-quoted-string\">'Lorem ipsum dolor sit amet'<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token number\">10<\/span><span class=\"token punctuation\">)<\/span>\n  <span class=\"token operator\">&lt;<\/span><span class=\"token operator\">!<\/span><span class=\"token operator\">--<\/span> Outputs<span class=\"token punctuation\">:<\/span> Lorem ipsu<span class=\"token operator\">...<\/span> <span class=\"token operator\">--<\/span><span class=\"token operator\">&gt;<\/span>\n<span class=\"token operator\">&lt;<\/span><span class=\"token operator\">\/<\/span>div<span class=\"token operator\">&gt;<\/span><\/code><\/pre>\n\n<h2>Resumo<\/h2>\n<p>Este artigo explorou como o Laravel Blade permite que voc\u00ea simplifique o processo de desenvolvimento ao criar views modulares e reutiliz\u00e1veis para aplicativos web. No entanto, sua jornada de desenvolvimento do Laravel n\u00e3o deve terminar aqui.<\/p>\n<p>A infraestrutura que hospeda seu aplicativo \u00e9 t\u00e3o importante para o seu sucesso quanto o processo de desenvolvimento local. Para levar seu aplicativo Laravel para o pr\u00f3ximo n\u00edvel, voc\u00ea precisa de uma plataforma de hospedagem confi\u00e1vel que possa atender as suas demandas.<\/p>\n<p>A Kinsta otimiza as solu\u00e7\u00f5es de hospedagem focando em desempenho, seguran\u00e7a e escalabilidade, proporcionando um ambiente ideal para o <a href=\"https:\/\/sevalla.com\/application-hosting\/\">desenvolvimento do seu aplicativo<\/a>. Ao implantar seu <a href=\"https:\/\/kinsta.com\/pt\/docs\/configurando-aplicativo-laravel-kinsta\/\">aplicativo Laravel na Kinsta<\/a>, voc\u00ea poder\u00e1 vivenciar essas vantagens pessoalmente.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Os mecanismos de cria\u00e7\u00e3o de templates do Laravel s\u00e3o compat\u00edveis com React, Vue e outras bibliotecas. Contudo, o que realmente encanta os desenvolvedores \u00e9 a efici\u00eancia &#8230;<\/p>\n","protected":false},"author":290,"featured_media":62132,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[984],"class_list":["post-62131","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-laravel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Entendendo o Laravel Blade e Como Us\u00e1-lo - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"O Blade \u00e9 o template engine padr\u00e3o para o framework Laravel. Descubra mais sobre suas funcionalidades e aprenda a utiliz\u00e1-lo adequadamente.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Entendendo o Laravel Blade e Como Us\u00e1-lo\" \/>\n<meta property=\"og:description\" content=\"O Blade \u00e9 o template engine padr\u00e3o para o framework Laravel. Descubra mais sobre suas funcionalidades e aprenda a utiliz\u00e1-lo adequadamente.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-15T10:13:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-20T12:55:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"6084\" \/>\n\t<meta property=\"og:image:height\" content=\"3042\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Marcia Ramos\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"O Blade \u00e9 o template engine padr\u00e3o para o framework Laravel. Descubra mais sobre suas funcionalidades e aprenda a utiliz\u00e1-lo adequadamente.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marcia Ramos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/\"},\"author\":{\"name\":\"Marcia Ramos\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116\"},\"headline\":\"Entendendo o Laravel Blade e Como Us\u00e1-lo\",\"datePublished\":\"2023-11-15T10:13:55+00:00\",\"dateModified\":\"2023-11-20T12:55:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/\"},\"wordCount\":1618,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/\",\"name\":\"Entendendo o Laravel Blade e Como Us\u00e1-lo - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg\",\"datePublished\":\"2023-11-15T10:13:55+00:00\",\"dateModified\":\"2023-11-20T12:55:32+00:00\",\"description\":\"O Blade \u00e9 o template engine padr\u00e3o para o framework Laravel. Descubra mais sobre suas funcionalidades e aprenda a utiliz\u00e1-lo adequadamente.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg\",\"width\":6084,\"height\":3042},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/laravel\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Entendendo o Laravel Blade e Como Us\u00e1-lo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116\",\"name\":\"Marcia Ramos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g\",\"caption\":\"Marcia Ramos\"},\"description\":\"I'm the Editorial Team Lead at Kinsta. I'm a open source enthusiast and I love coding. With more than 10 years of technical writing and editing for the tech industry, I love collaborating with people to create clear and concise pieces of content and improve workflows.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/marciadiasramos\/\"],\"honorificSuffix\":\"B.Sc.\",\"gender\":\"Female\",\"knowsLanguage\":[\"English\",\"Portuguese\"],\"jobTitle\":\"Editorial Team Lead\",\"worksFor\":\"Kinsta Inc.\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/marciaramos\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Entendendo o Laravel Blade e Como Us\u00e1-lo - Kinsta\u00ae","description":"O Blade \u00e9 o template engine padr\u00e3o para o framework Laravel. Descubra mais sobre suas funcionalidades e aprenda a utiliz\u00e1-lo adequadamente.","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:\/\/kinsta.com\/pt\/blog\/laravel-blade\/","og_locale":"pt_PT","og_type":"article","og_title":"Entendendo o Laravel Blade e Como Us\u00e1-lo","og_description":"O Blade \u00e9 o template engine padr\u00e3o para o framework Laravel. Descubra mais sobre suas funcionalidades e aprenda a utiliz\u00e1-lo adequadamente.","og_url":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2023-11-15T10:13:55+00:00","article_modified_time":"2023-11-20T12:55:32+00:00","og_image":[{"width":6084,"height":3042,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg","type":"image\/jpeg"}],"author":"Marcia Ramos","twitter_card":"summary_large_image","twitter_description":"O Blade \u00e9 o template engine padr\u00e3o para o framework Laravel. Descubra mais sobre suas funcionalidades e aprenda a utiliz\u00e1-lo adequadamente.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg","twitter_creator":"@kinsta_pt","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Marcia Ramos","Tempo estimado de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/"},"author":{"name":"Marcia Ramos","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116"},"headline":"Entendendo o Laravel Blade e Como Us\u00e1-lo","datePublished":"2023-11-15T10:13:55+00:00","dateModified":"2023-11-20T12:55:32+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/"},"wordCount":1618,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/","url":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/","name":"Entendendo o Laravel Blade e Como Us\u00e1-lo - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg","datePublished":"2023-11-15T10:13:55+00:00","dateModified":"2023-11-20T12:55:32+00:00","description":"O Blade \u00e9 o template engine padr\u00e3o para o framework Laravel. Descubra mais sobre suas funcionalidades e aprenda a utiliz\u00e1-lo adequadamente.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/08\/laravel-blade.jpg","width":6084,"height":3042},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/laravel-blade\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Laravel","item":"https:\/\/kinsta.com\/pt\/topicos\/laravel\/"},{"@type":"ListItem","position":3,"name":"Entendendo o Laravel Blade e Como Us\u00e1-lo"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116","name":"Marcia Ramos","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0d680db24858fdf61a7e7ce3c1a160f5?s=96&d=mm&r=g","caption":"Marcia Ramos"},"description":"I'm the Editorial Team Lead at Kinsta. I'm a open source enthusiast and I love coding. With more than 10 years of technical writing and editing for the tech industry, I love collaborating with people to create clear and concise pieces of content and improve workflows.","sameAs":["https:\/\/www.linkedin.com\/in\/marciadiasramos\/"],"honorificSuffix":"B.Sc.","gender":"Female","knowsLanguage":["English","Portuguese"],"jobTitle":"Editorial Team Lead","worksFor":"Kinsta Inc.","url":"https:\/\/kinsta.com\/pt\/blog\/author\/marciaramos\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/62131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/290"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=62131"}],"version-history":[{"count":15,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/62131\/revisions"}],"predecessor-version":[{"id":65004,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/62131\/revisions\/65004"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/62131\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/62131\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/62131\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/62131\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/62131\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/62131\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/62131\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/62131\/translations\/es"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/62131\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/62132"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=62131"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=62131"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=62131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}