Skip to main content

Cos'è il framework Joomla e come si può utilizzare?

27 Dicembre 2025
Autore: Pietro Strada
Cos'è il framework Joomla e come si può utilizzare?

Quando le persone pensano a Joomla, spesso pensano al CMS Joomla, che è un ottimo sistema per la creazione di siti web. Ma Joomla è molto di più di un semplice CMS.
Sotto il cofano, c'è qualcos'altro: Il framework di Joomla.

Il framework Joomla è un gruppo di componeti PHP separati. Puoi anche usarli al di fuori di Joomla CMS! Ad esempio in app personalizzate, strumenti CLI, microservizi o altri progetti PHP.

Pacchetti di Joomla Framework

Joomla Framework è modulare. Significa che ha molti piccoli pacchetti. Ognuno fa un lavoro. Ad esempio:

  • Connessione al database
  • Gestione HTTP
  • Funzioni del file system
  • Eventi di sistema

È possibile utilizzare ciascuno di loro da solo. Non hai bisogno del CMS completo di Joomla. Puoi installarli con Composer di Packagist. Ad esempio, utilizzare solo il pacchetto Joomla Database in un progetto Symfony o Laravel. Non è necessario installare Joomla CMS.

Librerie di PHP

Quando sviluppi codice in PHP, non devi scrivere tutto da zero. Ad esempio, potresti voler esportare i dati in un PDF. Non reinventare la ruota e programmare la tua libreria PDF, ma usa invece una libreria già esistente. È possibile utilizzare "composer" per integrare le librerie PHP fatte da altri nei propri progetti. Queste librerie sono testate e aggiornate.

Packagist.org

Per i pacchetti della libreria PHP c'è un sito web chiamato Packagist. È possibile trovare tutti i tipi di pacchetti lì, compresi i pacchetti Joomla. Basta cercare https://packagist.org/?query=joomla.

Composer

Composer è lo strumento per gestire i pacchetti PHP. Ti aiuta a installare librerie. Basta usare:
composer riequire joomla/http
Composer scaricherà la versione corretta in una cartella chiamata /vendor/. Gestisce anche altri pacchetti necessari e imposta il caricamento automatico per te. Nel file PHP è sufficiente utilizzare quanto segue per caricare tutte le librerie:

require __DIR__ . '/vendor/autoload.php';

Librerie all'interno di Joomla

Joomla utilizza i propri pacchetti Framework e anche altre librerie PHP. Questi sono già inclusi in Joomla nella cartella /libraries/vendor/
Non è necessario aggiornarli da soli. In realtà, non dovresti aggiornarli tu stesso! Perché questo potrebbe rendere il CMS base di Joomla diverso e quando causa errori, sarebbe difficile da risolvere. Gli sviluppatori di Joomla mantengono i pacchetti in /libraries/vendor/ per te. Quando creano i pacchetti di installazione e aggiornamento di Joomla, includeranno anche quelle librerie. Sicuro e facile.

Utilizzo delle librerie PHP nella propria estensione

Se crei la tua estensione, puoi usare anche composer per usare librerie PHP extra. Ma non metterli nella cartella /libraries/vendor/ di Joomla!
Tale cartella è gestita da Joomla e può essere sovrascritta con aggiornamenti. Invece, metti le librerie nella cartella delle estensioni: /components/com_mycomponent/vendor/
In questo modo controlli la versione ed eviti anche conflitti con Joomla o altre estensioni.

Utilizzo dei pacchetti di Joomla Framework senza Joomla CMS

In realtà, per i piccoli progetti potrebbe non essere necessario il CMS completo di Joomla. Potresti usare un po 'di PHP insieme ad alcuni pacchetti di Joomla Framework. Vai a Packagist, trova un pacchetto, installalo con Composer:
composer require joomla/registry

Nel tuo codice PHP:

require DIR . '/vendor/autoload.php';
use Joomla\Registry\Registry;
$registry = new Registry;
$registry->set('welcome', 'Hello Joomla world!');
echo $registry->get('welcome'); // Hello Joomla world!

Semplice e pulito.

Esempio: Visualizzare gli articoli Joomla headless utilizzando il framework Joomla

Per dimostrare come utilizzare Joomla Framework, ho creato un esempio per visualizzare articoli di una categoria specifica in un'applicazione PHP standalone, senza utilizzare il CMS completo di Joomla:

https://github.com/pe7er/db8-joomla-framework-example 

Il codice utilizza il pacchetto di database di Joomla per connettersi a un database Joomla esistente e recuperare direttamente il contenuto, il che è molto bello per casi d'uso headless o in stile microservizio. Il mio esempio si concentra sull'utilizzo diretto di Joomla Framework, senza fare affidamento sull'API dei servizi Web di Joomla o sull'ambiente CMS.

Caratteristiche

  • Headless: Nessuna installazione di Joomla CMS è richiesta
  • Utilizza i pacchetti di Joomla Framework tramite Composer
  • Estrae gli articoli dalla tabella #__content
  • Visualizzazione HTML responsive utilizzando Bootstrap 5
  • Facile da configurare ed estendere

Requisiti

  • PHP 8.1 o superiore
  • Composer
  • Un database Joomla 4.x o 5.x esistente
  • Server Web con index.php accessibile

Installazione

  • Clonare il repository:
    git clone Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.:pe7er/db8-joomla-framework-example.git
    cd db8-joomla-framework-example
  • Installare le dipendenze con Composer:Configurazione
    composer install
  • Copiare il file .env.example in .env e modificare le credenziali del database

Uso

  • Dopo la configurazione, esegui l'app aprendo index.php nel tuo browser (tramite un server locale come Apache o il server integrato di PHP):
    php -S localhost:8000
  • In una visita del browser: http://localhost:8000
    Dovresti vedere un elenco di articoli in stile Bootstrap dal tuo database Joomla.

Immagine del campione

Il mio semplice esempio di codice utilizza Joomla Framework Packages per recuperare articoli da una categoria specifica da un database Joomla. Nel mio ambiente di test la categoria conteneva 8 articoli di Joomla e sarebbe stata visualizzata in questo modo:

Esempio di framework joomla

Riferimenti al framework Joomla

Conclusione

Joomla Framework è un potente strumento nascosto, ma sconosciuto a molti sviluppatori. Se crei estensioni Joomla — o anche solo app PHP — puoi utilizzare questi pacchetti.
Benefici:
- Risparmio di tempo;
- Rendi il tuo codice migliore.

Tutto ciò di cui hai bisogno è Composer... e un po' di curiosità.

Migliorare e diffondere Joomla Framework?

Se vuoi contribuire a migliorare il Framework di Joomla:

  • abbiamo bisogno di volontari per migliorare la documentazione per Joomla Framework
  • Abbiamo bisogno di più sviluppatori per migliorare e mantenere i pacchetti di Joomla Framework

Alcuni articoli pubblicati sul Joomla Community Magazine rappresentano l'opinione personale o l'esperienza dell'Autore sul tema specifico e potrebbero non essere allineati alla posizione ufficiale del Progetto Joomla