{"id":24635,"date":"2021-05-19T13:08:00","date_gmt":"2021-05-19T10:08:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24635"},"modified":"2021-10-18T03:12:14","modified_gmt":"2021-10-18T00:12:14","slug":"come-creare-un-blog-con-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/come-creare-un-blog-con-laravel\/","title":{"rendered":"Come creare un blog con Laravel"},"content":{"rendered":"<p>Laravel \u00e8 il framework PHP pi\u00f9 popolare. Sappiamo tutti che le persone preferiscono questo framework per creare le proprie applicazioni web. E mentre costruisci un sito web con Laravel, probabilmente vorrai creare un blog sul tuo sito web. In generale, Laravel non \u00e8 una piattaforma di blogging come WordPress in cui ottieni tutto il materiale di backend pronto per gestire gli articoli del tuo blog. E costruire il sistema del blog da zero \u00e8 un lavoro che richiede molto tempo. Grazie a <a href=\"https:\/\/cnvs.io\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Canvas<\/a> che semplifica la vita agli sviluppatori di Laravel creando una fantastica piattaforma di pubblicazione per Laravel.<\/p>\n<p>Utilizzando il pacchetto Canvas, possiamo creare facilmente il nostro blog in Laravel in pochi minuti. Canvas ha gi\u00e0 lavorato sodo per la gestione del backend del blog. Tutto quello che devi fare \u00e8 ottenere i dati e visualizzarli sul frontend corrispondente al tuo design.<\/p>\n<p>Detto questo, diamo un&#8217;occhiata a come creare un blog con Laravel utilizzando il pacchetto Canvas.<\/p>\n<h3>Iniziare<\/h3>\n<p>Per iniziare con Canvas, devi prima soddisfare il requisito di base di Canvas che \u00e8 l&#8217;autenticazione dell&#8217;utente. Laravel rende l&#8217;implementazione dell&#8217;autenticazione davvero semplice. Se hai gi\u00e0 installato l&#8217;autenticazione Laravel, salta questo passaggio. Altrimenti nel tuo terminale, esegui i comandi seguenti uno per uno per configurare l&#8217;autenticazione di Laravel.<\/p>\n<pre><code>composer require laravel\/ui --dev\nphp artisan ui vue --auth\nnpm install &amp;&amp; npm run dev\n<\/code><\/pre>\n<h3>Crea un blog con Laravel usando il pacchetto Canvas<\/h3>\n<p>Una volta che l&#8217;autenticazione \u00e8 nel luogo, puoi installare Canvas eseguendo il comando seguente:<\/p>\n<pre><code>composer require cnvs\/canvas<\/code><\/pre>\n<p>Al momento dell&#8217;installazione del pacchetto, \u00e8 necessario pubblicare le risorse e il file di configurazione principale. Pubblicalo usando il comando:<\/p>\n<pre><code>php artisan canvas:install<\/code><\/pre>\n<p>Questo comando localizzer\u00e0 il file di configurazione principale in <code>config\/canvas.php<\/code>. Puoi controllare vari aspetti usando questo file di configurazione. Ma raramente \u00e8 necessario toccare questo file poich\u00e9 tutte le cose sono gi\u00e0 definite nei punti.<\/p>\n<p>Crea anche alcune tabelle nel tuo database. Questo pacchetto aggiunge un prefisso &#8216;canvas_&#8217; a tutte queste tabelle appena create.<\/p>\n<p>Quando si tratta di blog, \u00e8 sempre necessario utilizzare le immagini nel contenuto. Quindi, crea un collegamento simbolico per garantire che i caricamenti di file siano accessibili pubblicamente dal Web.<\/p>\n<pre><code>php artisan storage:link<\/code><\/pre>\n<p>Significa che vedrai le tue immagini caricate all&#8217;interno della <code>public\/storage<\/code>directory.<\/p>\n<p>Ora, se esegui l&#8217;URL <a href=\"http:\/\/localhost:8000\/canvas\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">http:\/\/localhost:8000\/canvas<\/a>, verrai reindirizzato alla pagina delle statistiche. Puoi reindirizzare alla pagina di accesso se non hai effettuato l&#8217;accesso. Qui uso il localhost, puoi modificare questo URL.<\/p>\n<p>Nella pagina delle statistiche, otterrai analisi di base del tuo blog come il numero di visualizzazioni, visitatori, l&#8217;andamento di ciascun articolo, ecc.<\/p>\n<p>Dalla sezione dell&#8217;intestazione, puoi ottenere i menu per la creazione di post, tag, argomenti, impostazioni, ecc. Devi giocare con tutti questi menu. \u00c8 semplice e facile da capire.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20562-6082053455c32.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20562-6082053455c32.png\" alt=\"Come creare un blog con Laravel\" ><\/a><\/p>\n<p>Facendo clic sul pulsante &quot;Nuovo post&quot;, verrai reindirizzato a una pagina in cui puoi aggiungere il tuo articolo. Puoi anche aggiungere immagini in primo piano, impostazioni SEO, tag, argomenti all&#8217;articolo. Notare i tre punti accanto al pulsante Pubblica. Cliccando su questi punti ottieni tutte queste opzioni.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20562-608205351f558.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20562-608205351f558.png\" alt=\"Come creare un blog con Laravel\" ><\/a><\/p>\n<p>Schermata sopra che mostra il colore di sfondo mentre attivo la modalit\u00e0 oscura. Nel tuo caso, potresti vedere lo sfondo bianco. Quindi non confonderti con esso. L&#8217;utente pu\u00f2 trovare questa funzione in modalit\u00e0 oscura nella pagina Impostazioni.<\/p>\n<p>Canvas ha una funzione di salvataggio automatico in modo da non perdere il tuo lavoro.<\/p>\n<p>L&#8217;interfaccia di questo pacchetto \u00e8 semplice. Puoi familiarizzare facilmente con esso in pochissimo tempo. La prossima cosa che dobbiamo vedere \u00e8 visualizzare i tuoi articoli sul front-end.<\/p>\n<h4>Pubblicazione di articoli sul sito web<\/h4>\n<p>Una volta che hai finito con il backend, devi visualizzare i tuoi articoli sul front-end. Richiede la definizione di alcuni percorsi e metodi nel file del controller. La libreria Canvas ha fatto questo duro lavoro per te. Nella pagina GitHub di questa libreria, otterrai il codice per esso. Aggiungi i seguenti percorsi nel tuo <code>routes\/web.php<\/code>file.<\/p>\n<pre><code>\/\/ Get all published posts\nRoute::get('blog', 'BlogController@getPosts');\n\u00a0\n\/\/ Get posts for a given tag\nRoute::get('tag\/{slug}', 'BlogController@getPostsByTag');\n\u00a0\n\/\/ Get posts for a given topic\nRoute::get('topic\/{slug}', 'BlogController@getPostsByTopic');\n\u00a0\n\/\/ Find a single post\nRoute::middleware('CanvasHttpMiddlewareSession')-&gt;get('{slug}', 'BlogController@findPostBySlug');<\/code><\/pre>\n<p>Crea un controller BlogController usando il comando:<\/p>\n<pre><code>php artisan make:controller BlogController<\/code><\/pre>\n<p>Avrai <code>BlogController.php<\/code>il codice qui sotto.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\n\u00a0\nclass BlogController extends Controller\n{\n\u00a0\u00a0\u00a0\u00a0public function getPosts()\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'posts' =&gt; CanvasPost::published()-&gt;orderByDesc('published_at')-&gt;simplePaginate(10),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return view('blog.index', compact('data'));\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public function getPostsByTag(string $slug)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (CanvasTag::where('slug', $slug)-&gt;first()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'posts' =&gt; CanvasPost::whereHas('tags', function ($query) use ($slug) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$query-&gt;where('slug', $slug);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0})-&gt;published()-&gt;orderByDesc('published_at')-&gt;simplePaginate(10),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return view('blog.index', compact('data'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0abort(404);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public function getPostsByTopic(string $slug)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (CanvasTopic::where('slug', $slug)-&gt;first()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'posts' =&gt; CanvasPost::whereHas('topic', function ($query) use ($slug) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$query-&gt;where('slug', $slug);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0})-&gt;published()-&gt;orderByDesc('published_at')-&gt;simplePaginate(10),\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return view('blog.index', compact('data'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0abort(404);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0public function findPostBySlug(string $slug)\n\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$posts = CanvasPost::with('tags', 'topic')-&gt;published()-&gt;get();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$post = $posts-&gt;firstWhere('slug', $slug);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0if (optional($post)-&gt;published) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$data = [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'author' =&gt; $post-&gt;user,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'post'\u00a0\u00a0 =&gt; $post,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'meta'\u00a0\u00a0 =&gt; $post-&gt;meta,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0];\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ IMPORTANT: This event must be called for tracking visitor\/view traffic\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0event(new CanvasEventsPostViewed($post));\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return view('blog.show', compact('data'));\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} else {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0abort(404);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<h4>Crea file lama<\/h4>\n<p>Come definito nel controller, creiamo un file blade <code>blog\/index.blade.php<\/code>e <code>blog\/show.blade.php<\/code>. In questo tutorial, non progetter\u00f2 un elenco di blog e una pagina dei dettagli. Poich\u00e9 ognuno di voi ha un design separato. Sto solo andando a stampare articoli sul file blade. Puoi applicare la corrispondenza del design con il tuo sito web.<\/p>\n<p><strong>blog\/index.blade.php<\/strong><\/p>\n<pre><code>&lt;ul&gt;\n\u00a0\u00a0\u00a0\u00a0@foreach($data['posts'] as $d)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;li&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;h2&gt;&lt;a href=\"{{url($d['slug'])}}\"&gt;{{ $d['title'] }}&lt;\/a&gt;&lt;\/h2&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;p&gt;{!! $d['body'] !!}&lt;\/p&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/li&gt;\n\u00a0\u00a0\u00a0\u00a0@endforeach\n&lt;\/ul&gt;<\/code><\/pre>\n<p><strong>blog\/show.blade.php<\/strong><\/p>\n<pre><code>@if($data['post']['featured_image'])\n\u00a0\u00a0\u00a0\u00a0&lt;img src=\"{{ url($data['post']['featured_image']) }}\" alt=\"{{ $data['post']['featured_image_caption'] }}\" \/&gt;\n@endif\n&lt;h2&gt;{{ $data['post']['title'] }}&lt;\/h2&gt;\n{!! $data['post']['body'] !!}<\/code><\/pre>\n<p>Suggerirei di stampare la <code>$data<\/code>variabile e controllare tutte le informazioni contenute in questa variabile. Probabilmente vorrai usare altri dettagli anche da questa variabile.<\/p>\n<p>Spero che tu capisca come creare un blog con Laravel usando un pacchetto Canvas. Puoi saperne di pi\u00f9 su questo pacchetto su <a href=\"https:\/\/github.com\/cnvs\/canvas\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">cnvs\/canvas<\/a>.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/come-creare-honeypot-per-combattere-lo-spam-dei-moduli-in-laravel\/\" title=\"Come creare Honeypot per combattere lo spam dei moduli in Laravel\">Come creare Honeypot per combattere lo spam dei moduli in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/backup-dell-applicazione-laravel-su-dropbox\/\" title=\"Backup dell&#039;applicazione Laravel su Dropbox\">Backup dell&#8217;applicazione Laravel su Dropbox<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nella tua applicazione, potresti voler integrare una pagina del blog. In questo articolo, ti mostro come un taxi crea un blog con Laravel. L&#8217;utente pu\u00f2 utilizzare la tela<\/p>\n","protected":false},"author":1,"featured_media":20563,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[500],"tags":[846],"class_list":["post-24635","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=24635"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24635\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/20563"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=24635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=24635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=24635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}