Vai al contenuto

Symfony 6.x, realizzare un’applicazione da zero

Scritto da:

Stefano Pascazi

In questa mini guida realizzeremo un’applicazione da zero in Symfony 6.x .

Per prima cosa se ancora non l’abbiamo fatto è necessario installare PHP 8.1.x ed i moduli necessari che sono:

  • Ctype
  • Iconv
  • PCRE
  • session
  • SimpleXML
  • Tokenizer

Ad installazione dei moduli ultimata, assicuriamoci di avere composer installato e la Symfony CLI ( dato che ci permetterà di fare un check dei requirements del framework).

Se avete installato la Symfony CLI potete eseguire il comando:

$ symfony check:requirements

Se avete eseguito correttamente le installazioni vedrete una schermata simile a questa

Bene, siamo pronti a creare la nostra prima applicazione.

Eseguiamo il comando:

$ symfony new my_project_directory --version=6.1.*

# In caso non avessimo la Symfony CLI installata,
# possiamo usare composer in modo da ottenere il medesimo risultato:
$ composer create-project symfony/skeleton:"6.1.*" my_project_directory

A seguito dell’installazione, la nostra prima applicazione symfony è stata creata, spostiamoci nella root del progetto ed eseguiamo l’applicazione appena realizzata

$ cd my_project_directory

# Eseguiamo il web server di Symfony
$ symfony server:start --port=8080

# Se non abbiamo la Symfony CLI installata,
# possiamo eseguire il PHP server dalla cartella public del progetto
$ cd public && php -S localhost:8080

Accediamo all’indirizzo http://localhost:8080 e visualizziamo la nostra applicazione Symfony

Nota

Se è proprio il vostro primo approccio a Symfony, vi consiglio di dare uno sguardo all’applicazione di Demo che gli sviluppatori di Symfony hanno realizzato perchè è un grosso punto di partenza per uno studio iniziale di Symfony, dato che il codice è ampiamente commentato e vengono utilizzati tantissimi componenti. Installare la demo è molto semplice:

$ symfony new my_symfony_demo --demo

Extra: Creiamo il nostro primo IndexController

Se ancora non lo avete fatto, fermate il web server, aprite il progetto con il vostro IDE, posizionatevi con la vostra shell nella root principale del vostro progetto ed installiamo il componente annotation, che ci eviterà di configurare le nostre route a mano

$ composer require annotations

Ora spostiamoci all’interno della root src/Controller e creiamo il nostro primo controller:

$ touch IndexController.php

Apriamo il file appena creato con il nostro IDE ed editiamo in questo modo:

<?php

namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class IndexController
{
    /**
     * @Route("/")
     */
    public function IndexAction(): Response
    {
        return new Response(
            '<html><body><h1>Benvenuto nella tua prima pagina</h1></body></html>'
        );
    }
}

Ora, eseguiamo di nuovo il nostro server e vedremo il nostro primo Controller in azione.

Articolo precedente

Docker PHP image per Symfony 6.x application

Articolo successivo

Keycloak, deploy in locale di un sistema di Single Sign-On potente e versatile

Unisciti alla discussione

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.