• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Codemotion Magazine

We code the future. Together

  • Discover
    • Events
    • Community
    • Partners
    • Become a partner
    • Hackathons
  • Magazine
    • Backend
    • Dev community
    • Carriere tech
    • Intelligenza artificiale
    • Interviste
    • Frontend
    • DevOps/Cloud
    • Linguaggi di programmazione
    • Soft Skill
  • Talent
    • Discover Talent
    • Jobs
    • Manifesto
  • Companies
  • For Business
    • EN
    • IT
    • ES
  • Sign in
ads

Manuel della GalaGennaio 26, 2026 4 min di lettura

Laravel Getting started

Backend
facebooktwitterlinkedinreddit

Descrizione

Laravel è stato pubblicato su Github fin dalla versione Beta il 9 giugno 2011 dal suo Ideatore Taylor Otwall, che ha ripreso e ustilizzato la struttura di Symfony e tuttora ne integra alcune librerie.

Laravel è FrameWork PHP open source con licenza MIT che usa il Design Pattern MVC(Model-View-Control):

  • Model: gestisce i dati crea una classe che rappresente la tabella del database e si frappone tra il DB e il framework ,
  • Controller: gestisce le richieste HTTP del server e le interpreta tramite il Model, mostrando la View predefinita.
  • View: è il template popolato con i dati richiesti, di solito Laravel usa Blade il motore di template predefinito ma è possibile usare anche Framework JS come Livewire , React o Vue.

Creare il progetto

Con Composer

Per creare un progetto è possibile usare Composer con il comando

Recommended article
frontend
Giugno 17, 2025

Ripensare l’architettura frontend nell’era dell’AI

César Alberca

César Alberca

Backend
composer create-project laravel/laravel <nome-app>Code language: HTML, XML (xml)

Ad esempio:

composer create-project laravel/laravel app-laravel

Successivamente eseguire:

npm run install
npm run build 

Questi comandi servono a installare e generare le librerie di javascript,
Bisogna modificare il file .env per configurare il database. Di default viene impostato SQLite, utile per studiare Laravel in locale.Per il deploy su un’host remoto sarebbe altamente consigliabile usare Mysql o PostgreSQL molto più performanti e sono più pratici da gestire con PHPmyAdmin o phpPgAdmin. Esempio di configurazione:
.env


DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=user
DB_PASSWORD=pass

nel file di configurazione è possibile settare numerosi parametri come il nome del progetto , mailserver, modalità di sviluppo o produzione, la lingua locale, la cache e il log etc.

Con Laravel Installler

Per installare il CLI Laravel eseguire:

composer global require laravel/installerCode language: PHP (php)

Poi creare il progetto con:

laravel new example-appCode language: JavaScript (javascript)

Durande la creazione è possibile scegliere:

  • Lo starterkit che si occuperà del frontend (none, React, Vue e Livewire)
  • Il framework per i test: (Pest o PHPUnit)
  • Se vuoi puoi installare Laravel Boost per l’IA
  • Il database: Sqlite, Mysql, MariaDB,PgSQL, SQL server
  • L’editor utilizzato: Claude Code, Codex, Cursor, Gemini, OpenCode, PhpStorm, VS Code
  • eseguire npm install e npm build

Avviamo il web server

Terminata la creazione e configurazione del progetto possiamo avviare il progetto con

php artisan serve

Artisan è uno strumento intergrato che permette di:

  • Avviare il server di sviluppo.
  • Creare componenti.
  • Gestire il database.
  • E molto altro.

Ora apriamo l’indirizzo indicato dal comando artisan:

Server running on [http://127.0.0.1:8000].Code language: JavaScript (javascript)

Per il codice JavaScript si può avviare Vite con:

npm run dev

Serve a ricompilare il codice JS ogni volta che salviamo una modifica.

Creare elementi con Artisan

incominciamo a creare nuovi elementi usando il comando make per esempio.

php artisan make:model -c -s -m -rCode language: CSS (css)

Questo comando crea una classe che estende la classe Model in seguito artisan chiederà il nome della classe che dev’essere al singolare e la prima lettera maiuscola es.: Post
le opzioni servono a creare:

  • -c → crea il Controller che è la classe che sta tra il router e la view
  • -s → crea il Seeder serve a inserire dati che devono essere presenti nel database alla partenza del progetto
  • -m → crea la Migration fornisce le istruioni per creare la tabella corrispondente nel database
  • -r → crea un Resource è un controller predefinito con già presenti metodi da implementare per il CRUD(Create Read Update Delete)

questo comando è l’abbreviazione di:

php artisan make:model 
php artisan make:controller
php artisan make:seed
php artisan make:migration
php artisan make:resourceCode language: CSS (css)

In questo caso userò solo

php artisan make:model -c -s -m Code language: CSS (css)

Migration e Seeder

La Migration generate va modificata per aggiungere campi oltre a id e timestamps.

\database\migrations\<data-time>_<operazione>_<nome model>_table.php

La migration dev’essere modificata perchè il template di base prevede solo la chiave primaria(id) e il timestamp nel metodo up() per aggiungere nuovi campi possiamo seguire l’esempio seguente

public function up(): void {

    Schema::create('posts', function (Blueprint $table) { 

        $table->id();  
        $table->string('title');
        $table->string('content'); 
        $table->timestamps();

    });

}

public function down(): void
    {
        Schema::dropIfExists('posts');
    }Code language: PHP (php)

Nel metodo down() invece serve nel caso ci sia bisogno di effettuare un rollback ovvero laravel annulla a ritroso le migration effettuate deve contenere le istruzioni per eliminare ciò che è stato creato con up().

Sono previsti numerosi tipi di dati qui alcuni esempi rispettivamente Interi, decimali, text:

$table->integer('votes');
$table->decimal('amount', total: 8, places: 2);
$table->text('description');Code language: PHP (php)

Per creare effettivamente la tabella nel database eseguiamo il comando:

php artisan migrate

\database\seeders\PostSeeder.php
qui andiamo a inserire dati all’interno della tabella appena creata possono essere utili sia come placeholder o dati necessari a far funzionare il progetto

 public function run(): void{

        <em>DB</em>::table("posts")
        ->insert(['New','Lorem ipsum dolor sit, amet consectetur adipisicing elit. Est eligendi atque 
        voluptatem modi maiores reprehenderit iure ipsum mollitia exercitationem dolore perferendis facere dolor, 
        expedita eaque excepturi reiciendis ullam hic. Dolore.']);
}Code language: PHP (php)

all’interno di \database\seeders\DatabaseSeeder.php andiamo a inserire tutti i seeders creati per evitare di eseguire ogni seeder singolarmente

public function run(): void
    {
         $this->call([

            PostSeeder::class,

    ]);Code language: PHP (php)

esegui

php artisan db:seedCode language: CSS (css)

in /route/web.php andiamo a scrivere la nuova route di nome ‘post’ usiamo il metodo GET che quando chiamiamo l’URL localhost:8000/post andrà a chiamare la classe ‘PostController’ metodo
index()

Route::get('/post', [PostController::class,'index'])->name('post');Code language: PHP (php)

nel controller PostController andremo a scrivere il metodo index() che richiamerà il Model Post prenderà i dati e li inserirà nella nuova pagina che andremo a scrivere.

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request; 
use App\Models\Post;

class PostController extends Controller{      

    public function index(){
        $post = Post::all(); 
        return view('post',['posts'=>$posts]);          
    }
Code language: HTML, XML (xml)

se vogliamo mantenere il nome della variabile all’interno della view [‘posts’=>$posts] equivale a scrivere compact(‘posts’) mentre nel caso volessimo cambiare variabile potremmo scrivere [‘articoli’=>$posts]
ora creiamo la view con:

php artisan make:view Code language: CSS (css)

e come gli diamo il nome post.blade.php e lo modifichiamo in questo modo

<div>
    <p>{{$posts[0]->title}}</p>
    <p>{{$posts[0]->content}}</p>
</div>Code language: HTML, XML (xml)

$posts (o la variabile che avete scelto nel controller) è quindi è un’array di oggetti Post in questo caso abbiamo solo un elemento che abbiamo inserito quando abbiamo caricato il seed nel database

e all’indirizzo localhost:8000/post verrà visualizzato

New

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Est eligendi atque voluptatem modi maiores reprehenderit iure ipsum mollitia exercitationem dolore perferendis facere dolor, expedita eaque excepturi reiciendis ullam hic. Dolore.

Conclusione

Queste nozioni rappresentano la base per iniziare a lavorare con Laravel, un framework molto vasto.
In articoli successivi si possono approfondire:
⦁ L’uso di Blade.
⦁ I controller per realizzare CRUD.
⦁ L’esposizione di API REST (Representational State Transfer Application Programming Interface).

Related Posts

VanillaCreamJS: JavaScript con i superpoteri

Riccardo Degni
Maggio 28, 2025

Come risolvere il dual write problem nei sistemi distribuiti

Codemotion
Maggio 22, 2025

Top 10 piattaforme online per fare pratica con Python

Lucilla Tomassi
Maggio 13, 2025

TechPills per tutti: Inizia a creare API REST con Django REST Framework

raffaelegrieco.it
Maggio 12, 2025
Share on:facebooktwitterlinkedinreddit

Tagged as:Backend Framework OpenSource PHP

Manuel della Gala
La curiosità è sempre stata parte di me fin da bambino. Dopo aver tentato varie strade sono ritornato al mio interesse principale il mondo dello sviluppo Web
Job interview tech: il setup conta quanto il codice
Previous Post
NIS2: cosa cambia davvero per aziende e team tech (e perché non è “solo compliance”)
Next Post

Footer

Discover

  • Events
  • Community
  • Partners
  • Become a partner
  • Hackathons

Magazine

  • Tech articles

Talent

  • Discover talent
  • Jobs

Companies

  • Discover companies

For Business

  • Codemotion for companies

About

  • About us
  • Become a contributor
  • Work with us
  • Contact us

Follow Us

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions