{"id":72301,"date":"2023-08-15T11:11:37","date_gmt":"2023-08-15T10:11:37","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=72301&#038;preview=true&#038;preview_id=72301"},"modified":"2023-08-30T15:15:33","modified_gmt":"2023-08-30T14:15:33","slug":"laravel-blade","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/","title":{"rendered":"Cos&#8217;\u00e8 Laravel Blade e come usarlo"},"content":{"rendered":"<p>I motori di template di <a href=\"https:\/\/kinsta.com\/it\/blog\/framework-laravel\/\">Laravel<\/a> supportano React, Vue e altre librerie. Tuttavia, gli sviluppatori amano la capacit\u00e0 del motore Laravel <a href=\"https:\/\/laravel.com\/docs\/10.x\/blade\" target=\"_blank\" rel=\"noopener noreferrer\">Blade<\/a> di creare rapidamente viste modulari e riutilizzabili. Blade permette di estendere senza sforzo i layout, definire sezioni e utilizzare strutture di controllo per generare contenuti basati sui dati.<\/p>\n<p>Questo articolo pratico spiega cos&#8217;\u00e8 Blade, come funziona e come migliora le applicazioni 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>Tutto ci\u00f2 che serve per usare Laravel Blade<\/h2>\n<p>Laravel Blade \u00e8 il motore di template predefinito del framework Laravel. Permette di utilizzare variabili, loop, dichiarazioni condizionali e altre funzioni PHP direttamente nel codice HTML. Per creare i file Blade, basta definire le viste blade creando dei file con estensione <code>.blade.php<\/code> nella cartella <strong>resources\/views<\/strong> del progetto Laravel, quindi strutturare le pagine dinamiche preferite in questi file.<\/p>\n<h3>Perch\u00e9 usare Blade?<\/h3>\n<p>Uno dei principali vantaggi di Blade \u00e8 la sua organizzazione modulare del codice. Blade aiuta a organizzare il codice in moduli riutilizzabili che si possono aggiungere, rimuovere o aggiornare facilmente senza influenzare il resto dell&#8217;applicazione.<\/p>\n<p>L&#8217;incapsulamento del codice \u00e8 un altro dei vantaggi di Blade. Blade aiuta a incapsulare le funzioni, rendendo pi\u00f9 gestibili i test, il debug e la manutenzione del codice. Questo approccio \u00e8 vantaggioso per le applicazioni pi\u00f9 grandi, perch\u00e9 quelle non organizzate possono diventare rapidamente difficili da gestire.<\/p>\n<p>Il motore di template di Blade \u00e8 performante ed \u00e8 il <a href=\"https:\/\/kinsta.com\/it\/blog\/benchmark-php\/#laravel-benchmarks\">framework PHP pi\u00f9 veloce che abbiamo testato<\/a>. Il motore compila tutte le viste di Blade in semplice codice PHP e le memorizza nella cache finch\u00e9 non vengono modificate. Questo approccio favorisce un rendering pi\u00f9 veloce e prestazioni complessivamente migliori.<\/p>\n<h2>Come usare Laravel Blade<\/h2>\n<p>In questo tutorial creeremo un&#8217;applicazione Laravel per testare i template Blade in azione. Impareremo a definire ed estendere i layout di Blade, a passare i dati tra le viste di Blade, a utilizzare le varie strutture di controllo disponibili e a creare i nostri Blade.<\/p>\n<h3>Prerequisiti<\/h3>\n<p>Per seguire questo tutorial, \u00e8 necessario avere i seguenti requisiti:<\/p>\n<ul>\n<li>Dimestichezza con PHP<\/li>\n<li><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Composer<\/a> installato. Verificate che Composer sia presente sul vostro sistema eseguendo <code>composer -V<\/code><\/li>\n<\/ul>\n<p>Date un&#8217;occhiata al <a href=\"https:\/\/github.com\/VirtuaCreative\/kinsta-laravel-blade\/tree\/main\" target=\"_blank\" rel=\"noopener noreferrer\">codice completo del tutorial<\/a> per avere una guida durante il lavoro.<\/p>\n<h2>Come creare un&#8217;applicazione Laravel<\/h2>\n<p>Per creare un&#8217;applicazione Laravel di esempio, eseguiamo:<\/p>\n<pre><code class=\"language-bash\">composer create-project laravel\/laravel my-app<\/code><\/pre>\n<p>Seguiamo le istruzioni sul terminale per completare la creazione dell&#8217;applicazione.<\/p>\n<p>Successivamente, entriamo nella directory dell&#8217;applicazione e serviamola con questo comando:<\/p>\n<pre><code class=\"language-bash\">cd my-app\nphp artisan serve<\/code><\/pre>\n<p>Clicchiamo sul link nel terminale per aprire la pagina di benvenuto di Laravel nel browser.<\/p>\n<h2>Come definire il layout<\/h2>\n<p>I layout permettono di configurare sezioni dell&#8217;applicazione web da condividere su pi\u00f9 pagine. Ad esempio, se l&#8217;applicazione ha una navbar e un footer coerenti tra le varie pagine, \u00e8 pi\u00f9 efficiente crearli una volta sola piuttosto che ricrearli da capo per ogni pagina.<\/p>\n<p>Prima di seguire le istruzioni passaggio per passaggio, diamo un&#8217;occhiata alla seguente dimostrazione scheletrica.<\/p>\n<p>Il codice per la creazione di siti web senza layout \u00e8 mostrato di seguito. Fa riscrivere il codice della navbar e del footer per ogni pagina.<\/p>\n<pre><code class=\"language-html\">&lt;!-- Page 1 --&gt;\n&lt;nav&gt;. . . &lt;\/nav&gt;\n  <span id=\"urn:enhancement-952d07e9-500d-4fae-9529-06bb3be248bf\" class=\"textannotation\">Content<\/span> for <span id=\"urn:enhancement-6492256a-73bb-4dc7-982e-4cf1ca27b0ca\" class=\"textannotation\">page<\/span> 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  <span id=\"urn:enhancement-2d34b1db-3fca-4120-a772-ea5b4ffaebee\" class=\"textannotation\">Content<\/span> for <span id=\"urn:enhancement-bb78fd47-fbce-4147-a046-fb7571b6e3a6\" class=\"textannotation\">page<\/span> 2\n&lt;footer&gt; . . . &lt;\/footer&gt;<\/code><\/pre>\n<p>Invece, possiamo costruire facilmente la nostra applicazione utilizzando i layout per condividere gli stessi componenti in un unico blocco di codice:<\/p>\n<pre><code class=\"language-html\"><!-- Main layout code -->&lt;!-- Main <span id=\"urn:enhancement-edeba305-140c-47aa-b2c4-a468192ac8ee\" class=\"textannotation\">layout<\/span> code --&gt;\n&lt;nav&gt;. . . &lt;\/nav&gt;\n{slot}\n&lt;footer&gt; . . . &lt;\/footer&gt;<\/code><\/pre>\n<p>Una volta definito il layout, possiamo utilizzarlo in qualsiasi pagina vogliamo:<\/p>\n<pre><code class=\"language-html\"><!-- Page 1 or Page n -->&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>Nelle versioni precedenti di Laravel, era necessario creare i layout utilizzando l&#8217;<a href=\"https:\/\/laravel.com\/docs\/10.x\/blade#layouts-using-template-inheritance\" target=\"_blank\" rel=\"noopener noreferrer\">ereditariet\u00e0 dei modelli<\/a>. Tuttavia, quando l&#8217;azienda ha aggiunto la funzione dei <a href=\"https:\/\/laravel.com\/docs\/10.x\/blade#components\" target=\"_blank\" rel=\"noopener noreferrer\">componenti<\/a>, \u00e8 diventato molto pi\u00f9 facile creare layout robusti.<\/p>\n<p>Per creare un nuovo layout con Laravel Blade, eseguiamo prima questo comando per creare il componente del layout:<\/p>\n<pre><code class=\"language-bash\">php artisan make:component Layout<\/code><\/pre>\n<p>Questo comando genera un nuovo file <strong>layout.blade.php<\/strong> situato in una nuova cartella chiamata <strong>components<\/strong> nella directory <strong>resources\/views\/<\/strong>. Apriamo questo file e incolliamo questo codice:<\/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>Questo codice crea un componente di layout con una semplice navbar e un footer. La funzione <code><a href=\"https:\/\/laravel.com\/docs\/5.5\/blade#components-and-slots\" target=\"_blank\" rel=\"noopener noreferrer\">slot<\/a><\/code> definisce dove passare il contenuto principale ogni volta che estendiamo il componente di layout.<\/p>\n<h2>Come estendere il layout<\/h2>\n<p>Possiamo importare facilmente un componente in una vista blade utilizzando il tag <code>&lt;x-component-name&gt;<\/code>. Questo metodo si applica anche al componente di layout creato in precedenza.<\/p>\n<p>Per vedere come appare l&#8217;estensione del layout, apriamo il file predefinito <strong>resources\/views\/welcome.blade.php<\/strong> e sostituiamo il contenuto del file con questo codice:<\/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>Questo approccio aggiorna la pagina di benvenuto in modo da utilizzare il componente di layout passando un elemento header e un paragrafo con un testo fittizio come contenuto. Ricarichiamo il link aperto in precedenza per vedere le modifiche.<\/p>\n<p>Nella definizione del layout, notiamo che il codice ha reso un dato titolo che viene impostato come predefinito a &#8220;Example Website&#8221; se il codice non passa i dati del titolo. Possiamo passare questi dati come slot denominati nelle viste tramite il codice <code>&lt;x-slot name=\"slotName\" \/&gt;<\/code> &#8211; in questo caso, <code>&lt;x-slot name=\"title\" \/&gt;<\/code>. Aggiorniamo il file <strong>welcome.blade.php<\/strong> con il codice sottostante e ricarichiamo la pagina:<\/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>Successivamente, aggiungiamo un po&#8217; di stile per migliorare l&#8217;aspetto dell&#8217;applicazione. Creiamo un nuovo file <strong>app.css<\/strong> nella cartella <strong>\/public\/css<\/strong> e incolliamo il codice di questo <a href=\"https:\/\/github.com\/VirtuaCreative\/kinsta-laravel-blade\/blob\/main\/public\/css\/app.css\">file<\/a>.<\/p>\n<p>Con tutti questi aggiornamenti, dovremmo vedere il seguente risultato quando visualizziamo l&#8217;anteprima dell&#8217;applicazione su 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 di laravel \" width=\"1999\" height=\"1096\"><figcaption class=\"wp-caption-text\">Hello world<\/figcaption><\/figure>\n<h2>Come includere i dati di backend<\/h2>\n<p>Nell&#8217;esempio precedente, abbiamo condiviso facilmente i dati tra i componenti e le viste tramite gli slot. Tuttavia, esistono approcci migliori per caricare i dati da un database o da un&#8217;altra fonte remota.<\/p>\n<p>In questo caso, carichiamo e passiamo i dati direttamente dalla definizione del router e accediamoci come abbiamo fatto con uno slot nominato nell&#8217;esempio precedente. Per farlo, apriamo il file <strong>routes\/web.php<\/strong> e sostituiamo il suo contenuto con questo codice:<\/p>\n<pre><code class=\"language-php\">&lt;?php\n<span id=\"urn:enhancement-33eec1fb-7846-43e4-bada-3af01d66a1ab\" class=\"textannotation\">use<\/span> Illuminate\\<span id=\"urn:enhancement-cd43b336-6ce8-417e-aeef-d5d7ec0cc2d6\" class=\"textannotation\">Support<\/span>\\<span id=\"urn:enhancement-fa7e6316-2b38-427e-95a7-b23891b476a4\" class=\"textannotation\">Facades<\/span>\\Route;\n\nRoute::get('\/', function () {\n  $name = \"John Doe\";\n  return view('welcome', ['name' =&gt; $name]);\n});<\/code><\/pre>\n<p>Nel codice precedente, abbiamo aggiornato la web route per passare il nome <code>\"John Doe\"<\/code> alla vista di benvenuto. Ora, accediamo a questo valore nelle viste blade in questo modo:<\/p>\n<pre><code class=\"language-php\">&lt;div&gt;\n  Hello, {{ $name }}\n   &lt;!-- Outputs: Hello, <span id=\"urn:enhancement-d60dc0e5-62e7-4703-a3e0-64e20730ea85\" class=\"textannotation\">John Doe<\/span> --&gt; <!-- Outputs: Hello, John Doe -->\n&lt;\/div&gt;<\/code><\/pre>\n<p>Possiamo utilizzare questo metodo per caricare i dati da un database. Ad esempio, supponiamo di avere una tabella to-do contenente un elenco di cose da fare. Usiamo la <a href=\"https:\/\/laravel.com\/docs\/10.x\/database#running-queries\">facciata DB<\/a> per caricare i to-do e passarli alla vista:<\/p>\n<pre><code class=\"language-php\">&lt;?php\n<span id=\"urn:enhancement-3f6dbb43-ce4e-4925-98fe-48b07773c89d\" class=\"textannotation\">use<\/span> Illuminate\\<span id=\"urn:enhancement-5ed1ed69-41be-43e9-a22b-9b57c11523c6\" class=\"textannotation\">Support<\/span>\\<span id=\"urn:enhancement-9d4c03fe-5be1-4af6-aea6-3770f2ba1358\" class=\"textannotation\">Facades<\/span>\\<span id=\"urn:enhancement-873011e0-0246-4368-a385-14e679d3dd6d\" class=\"textannotation\">DB<\/span>; \/\/ Import <span id=\"urn:enhancement-c428474a-1155-43ae-a2aa-402637c9d3c3\" class=\"textannotation\">DB<\/span> Facade\n<span id=\"urn:enhancement-2731084d-5fd0-4d96-873f-77e193f2ae30\" class=\"textannotation\">use<\/span> Illuminate\\<span id=\"urn:enhancement-fef011df-2922-4462-8130-ce47b187e645\" class=\"textannotation\">Support<\/span>\\<span id=\"urn:enhancement-cdfeffdb-8f7b-4e34-b9d1-54d1dbe52833\" class=\"textannotation\">Facades<\/span>\\Route;\n\nRoute::get('\/', function () {\n  $todos = DB::table('todos')-&gt;get();\n  return view('welcome', ['todos' =&gt; $todos]);\n});<\/code><\/pre>\n<p>Tuttavia, se non avete un database, potete aggiornare la web entry route per passare un array di to-do statici. Apriamo il file <strong>routes\/web.php<\/strong> e aggiorniamo il percorso predefinito <code>(\/)<\/code> con il codice seguente:<\/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>Sostituiamo il contenuto del file <strong>welcome.blade.php<\/strong> con il codice seguente per accedere ai to-do come array JSON codificato.<\/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  &lt;!-- Output:  [\"Learn <span id=\"urn:enhancement-836020c5-662b-4344-86d7-702b450faf56\" class=\"textannotation\">Laravel<\/span>\",\"Learn <span id=\"urn:enhancement-135eb109-8633-405a-9f12-bb992e83312e\" class=\"textannotation\">Blade<\/span>\",\"Build <span id=\"urn:enhancement-65b80d2c-c7fc-45b2-a7b0-5b7249b84444\" class=\"textannotation\">Cool<\/span> Stuff\"] --&gt; <!-- Output: [\"Learn Laravel\",\"Learn Blade\",\"Build Cool Stuff\"] -->\n&lt;\/x-layout&gt;<\/code><\/pre>\n<h2>Come utilizzare le scorciatoie di controllo<\/h2>\n<p>Il motore di template di Blade supporta anche diverse direttive per rendere condizionati vari tipi di dati. Ad esempio, per iterare l&#8217;array di cose da fare che abbiamo passato alla vista di benvenuto, applichiamo un ciclo <code>foreach<\/code> incollando il seguente codice nel file <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>Questa modifica dovrebbe rendere le cose da fare in un elenco non ordinato, come nella schermata qui sotto.<\/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=\"La lista di cose da fare in un elenco non ordinato\" width=\"1999\" height=\"1001\"><figcaption class=\"wp-caption-text\">La lista di cose da fare in un elenco non ordinato<\/figcaption><\/figure>\n<p>Per costruire un blocco di dichiarazioni condizionali, usiamo le direttive <code>@if<\/code>, <code>@elseif<\/code>, <code>@else<\/code> e <code>@endif<\/code>. Ad esempio:<\/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>Sostituiamo il contenuto del file <strong>welcome.blade.php<\/strong> con il codice qui sopra. Le varie direttive <code>if<\/code>&#8211;<code>else<\/code> contano le cose da fare e visualizzano un messaggio personalizzato per diversi scenari. Se avete pi\u00f9 di un compito nell&#8217;array delle cose da fare, dovreste vedere nel browser l&#8217;output &#8220;I have multiple tasks!&#8221;.<\/p>\n<p>Potete trovare altre direttive supportate nella <a href=\"https:\/\/laravel.com\/docs\/10.x\/blade#blade-directives\" target=\"_blank\" rel=\"noopener noreferrer\">documentazione di Laravel<\/a>.<\/p>\n<h2>Come creare un&#8217;estensione personalizzata<\/h2>\n<p>Anche voi potete scrivere una direttiva personalizzata, come nell&#8217;esempio precedente. Per esplorare questa tecnica, creiamo una direttiva personalizzata di troncamento del testo.<\/p>\n<p>Per prima cosa, creiamo un nuovo <a href=\"https:\/\/laravel.com\/docs\/10.x\/providers\" target=\"_blank\" rel=\"noopener noreferrer\">service provider<\/a> eseguendo:<\/p>\n<pre><code class=\"language-bash\">php artisan make:provider TruncateTextServiceProvider<\/code><\/pre>\n<p>Questo comando genera un nuovo file di service provider in <strong>app\/Providers\/TruncateTextServiceProvider.php<\/strong>. Apriamo questo file e sostituiamo il suo contenuto con:<\/p>\n<pre><code class=\"language-php\">&lt;?php\n<span id=\"urn:enhancement-697b7932-79e2-405b-aa45-b4b106509721\" class=\"textannotation\">namespace<\/span> <span id=\"urn:enhancement-85be07ca-888b-430e-85d3-a01d7943502d\" class=\"textannotation\">App<\/span>\\Providers;\n\n<span id=\"urn:enhancement-4a0204cc-a3ea-4b3a-aade-820605ec2829\" class=\"textannotation\">use<\/span> Illuminate\\<span id=\"urn:enhancement-0a18d318-566b-4cf2-acfd-03b246f649ef\" class=\"textannotation\">Support<\/span>\\<span id=\"urn:enhancement-204eb49a-7718-4549-a1cc-f13001ffff9d\" class=\"textannotation\">Facades<\/span>\\<span id=\"urn:enhancement-59c28673-16d9-46c7-8e4e-b0c52ee76abb\" class=\"textannotation\">Blade<\/span>;\n<span id=\"urn:enhancement-2c521f79-bc2f-4ab4-af87-bbf557c51735\" class=\"textannotation\">use<\/span> Illuminate\\<span id=\"urn:enhancement-8e6f21aa-f079-473a-84b2-d2fdbe565885\" class=\"textannotation\">Support<\/span>\\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>Il codice importa la facciata Blade e definisce una nuova direttiva personalizzata chiamata <code>@truncate<\/code>. La direttiva accetta due argomenti: <code>$text<\/code> e <code>$length<\/code>. Utilizziamo il metodo <code>Str::limit()<\/code> per troncare il testo alla lunghezza specificata.<\/p>\n<p>Infine, registriamo il service provider aggiungendolo all&#8217;array di provider nel file di configurazione <strong>config\/app.php<\/strong>:<\/p>\n<pre><code class=\"language-php\">'providers' =&gt; [\n  \/\/ Other service providers\n  <span id=\"urn:enhancement-b2b1d6b7-2f8b-4f67-b8c4-44fb050f4071\" class=\"textannotation\">App<\/span>\\Providers\\TruncateTextServiceProvider::<span id=\"urn:enhancement-17580257-12d2-44f1-82dd-6bf521cabab3\" class=\"textannotation\">class<\/span>,\n],\n<\/code><\/pre>\n<p>Utilizziamo la direttiva personalizzata nei nostri template di Blade (<strong>welcome.blade.php<\/strong>) richiamandola con la sintassi <code>@truncate<\/code>.<\/p>\n<pre><code class=\"language-php\">&lt;<span id=\"urn:enhancement-4c8b6d5c-463b-40d3-824e-5c38e5b77a00\" class=\"textannotation\">div<\/span>&gt;\n  @<span id=\"urn:enhancement-8ceb0bd5-040f-4e5c-a44d-ed50a764ec97\" class=\"textannotation\">truncate<\/span>('<span id=\"urn:enhancement-9176e856-c82b-4aed-a566-6e60829c4572\" class=\"textannotation\">Lorem ipsum<\/span> dolor sit amet', 10)\n  &lt;!-- Outputs: Lorem ipsu... --&gt;\n&lt;\/div&gt;<\/code><\/pre>\n<h2>Riepilogo<\/h2>\n<p>In questo articolo abbiamo analizzato come Laravel Blade permetta di semplificare il processo di sviluppo e di creare viste modulari e riutilizzabili per le applicazioni web. Tuttavia, il vostro viaggio nello sviluppo di Laravel non dovrebbe finire qui.<\/p>\n<p>L&#8217;infrastruttura che ospita la vostra applicazione \u00e8 fondamentale per il vostro successo quanto il processo di sviluppo locale. Per portare la vostra applicazione Laravel a un livello superiore, avete bisogno di una piattaforma di hosting affidabile che sia in grado di gestire le sue esigenze.<\/p>\n<p>Kinsta ottimizza le soluzioni di hosting in termini di prestazioni, sicurezza e scalabilit\u00e0, consentendovi di <a href=\"https:\/\/sevalla.com\/application-hosting\/\">far crescere la vostra applicazione nel miglior ambiente possibile<\/a>. <a href=\"https:\/\/docs.sevalla.com\/templates\/overview#laravel\">Distribuite la vostra applicazione Laravel su Kinsta<\/a> per testarle in prima persona.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I motori di template di Laravel supportano React, Vue e altre librerie. Tuttavia, gli sviluppatori amano la capacit\u00e0 del motore Laravel Blade di creare rapidamente viste &#8230;<\/p>\n","protected":false},"author":290,"featured_media":72302,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[26020],"class_list":["post-72301","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>Cos&#039;\u00e8 Laravel Blade e come usarlo - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Laravel Blade \u00e8 il motore di template predefinito del framework Laravel. Scopri di pi\u00f9 su cos&#039;\u00e8 e su come utilizzarlo correttamente.\" \/>\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\/it\/blog\/laravel-blade\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cos&#039;\u00e8 Laravel Blade e come usarlo\" \/>\n<meta property=\"og:description\" content=\"Laravel Blade \u00e8 il motore di template predefinito del framework Laravel. Scopri di pi\u00f9 su cos&#039;\u00e8 e su come utilizzarlo correttamente.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-15T10:11:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-30T14:15:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/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=\"Laravel Blade \u00e8 il motore di template predefinito del framework Laravel. Scopri di pi\u00f9 su cos&#039;\u00e8 e su come utilizzarlo correttamente.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Marcia Ramos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/\"},\"author\":{\"name\":\"Marcia Ramos\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116\"},\"headline\":\"Cos&#8217;\u00e8 Laravel Blade e come usarlo\",\"datePublished\":\"2023-08-15T10:11:37+00:00\",\"dateModified\":\"2023-08-30T14:15:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/\"},\"wordCount\":1444,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/\",\"name\":\"Cos'\u00e8 Laravel Blade e come usarlo - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg\",\"datePublished\":\"2023-08-15T10:11:37+00:00\",\"dateModified\":\"2023-08-30T14:15:33+00:00\",\"description\":\"Laravel Blade \u00e8 il motore di template predefinito del framework Laravel. Scopri di pi\u00f9 su cos'\u00e8 e su come utilizzarlo correttamente.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg\",\"width\":6084,\"height\":3042},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/laravel\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cos&#8217;\u00e8 Laravel Blade e come usarlo\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"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\/it\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116\",\"name\":\"Marcia Ramos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/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\/it\/blog\/author\/marciaramos\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cos'\u00e8 Laravel Blade e come usarlo - Kinsta\u00ae","description":"Laravel Blade \u00e8 il motore di template predefinito del framework Laravel. Scopri di pi\u00f9 su cos'\u00e8 e su come utilizzarlo correttamente.","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\/it\/blog\/laravel-blade\/","og_locale":"it_IT","og_type":"article","og_title":"Cos'\u00e8 Laravel Blade e come usarlo","og_description":"Laravel Blade \u00e8 il motore di template predefinito del framework Laravel. Scopri di pi\u00f9 su cos'\u00e8 e su come utilizzarlo correttamente.","og_url":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2023-08-15T10:11:37+00:00","article_modified_time":"2023-08-30T14:15:33+00:00","og_image":[{"width":6084,"height":3042,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg","type":"image\/jpeg"}],"author":"Marcia Ramos","twitter_card":"summary_large_image","twitter_description":"Laravel Blade \u00e8 il motore di template predefinito del framework Laravel. Scopri di pi\u00f9 su cos'\u00e8 e su come utilizzarlo correttamente.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Marcia Ramos","Tempo di lettura stimato":"9 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/"},"author":{"name":"Marcia Ramos","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116"},"headline":"Cos&#8217;\u00e8 Laravel Blade e come usarlo","datePublished":"2023-08-15T10:11:37+00:00","dateModified":"2023-08-30T14:15:33+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/"},"wordCount":1444,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/","url":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/","name":"Cos'\u00e8 Laravel Blade e come usarlo - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg","datePublished":"2023-08-15T10:11:37+00:00","dateModified":"2023-08-30T14:15:33+00:00","description":"Laravel Blade \u00e8 il motore di template predefinito del framework Laravel. Scopri di pi\u00f9 su cos'\u00e8 e su come utilizzarlo correttamente.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/laravel-blade\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/08\/laravel-blade.jpg","width":6084,"height":3042},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/laravel-blade\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Laravel","item":"https:\/\/kinsta.com\/it\/argomenti\/laravel\/"},{"@type":"ListItem","position":3,"name":"Cos&#8217;\u00e8 Laravel Blade e come usarlo"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","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\/it\/#\/schema\/person\/72bff0015d3fb3ba3d8a85494dc0b116","name":"Marcia Ramos","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/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\/it\/blog\/author\/marciaramos\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/72301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/290"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=72301"}],"version-history":[{"count":10,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/72301\/revisions"}],"predecessor-version":[{"id":72736,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/72301\/revisions\/72736"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72301\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72301\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72301\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72301\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72301\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72301\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72301\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72301\/translations\/es"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/72301\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/72302"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=72301"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=72301"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=72301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}