
Wat is het Joomla Framework en hoe kun je het gebruiken?
Als mensen “Joomla” horen, denken ze meestal aan het Joomla CMS (Content Management System), een geweldig hulpmiddel om websites te bouwen. Maar Joomla is meer dan dat! Achter het CMS zit nog iets anders: het Joomla Framework.
Dit is een verzameling kleine tools, geschreven in PHP, waarmee ontwikkelaars maatwerk-apps en scripts kunnen bouwen — niet alleen websites. Je hoeft het Joomla CMS niet te gebruiken om deze tools te gebruiken. Je kunt ze ook inzetten in andere PHP-projecten.
Wat zit er in het Joomla Framework?
Het Joomla Framework is modulair. Dat betekent dat het bestaat uit veel kleine “packages”, en elk package doet één specifieke taak.
- Database – Verbinden met en werken met een database
- HTTP – Verwerken van webverzoeken en -antwoorden
- Files – Werken met bestanden op de server
- Events – Beheren van op gebeurtenissen gebaseerde acties
Je kunt elk van deze pakketten los gebruiken. Je hoeft Joomla CMS niet te installeren.
Hoe gebruik je ze?
Je vindt deze pakketten op Packagist.org. Gebruik Composer om ze te installeren.
composer require joomla/http
En in je PHP-bestand:
require __DIR__ . '/vendor/autoload.php';
PHP-libraries: het wiel niet opnieuw uitvinden
Als je PHP-code schrijft, hoef je niet alles zelf te bouwen. Wil je bijvoorbeeld een PDF maken? Dan kun je een bestaande PHP PDF library gebruiken. Voeg hem toe met Composer. Simpel en efficiënt.
Joomla gebruikt zelf ook libraries
Joomla zelf gebruikt deze libraries, opgeslagen in /libraries/vendor/
Belangrijk: Pas deze niet zelf aan. Joomla werkt ze zelf bij tijdens updates.
Wil je extra libraries gebruiken in je eigen extensie?
Dat kan! Maar plaats ze niet in de hoofdmap van Joomla. Zet ze in de map van je eigen extensie:
/components/com_mycomponent/vendor/
Zo voorkom je conflicten en blijft alles veilig tijdens updates.
Joomla Framework gebruiken zonder Joomla CMS?
Ja, dat kan! Voor kleinere projecten kun je gewoon een los Joomla Framework package gebruiken. Bijvoorbeeld:
composer require joomla/registry
require __DIR__ . '/vendor/autoload.php';
use Joomla\Registry\Registry;
$registry = new Registry;
$registry->set('welcome', 'Hello Joomla world!');
echo $registry->get('welcome');
Praktijkvoorbeeld: Joomla-artikelen tonen zonder Joomla CMS
Ik heb een kleine app gemaakt die Joomla-artikelen laat zien zonder Joomla CMS te installeren.
Je vindt deze op GitHub: github.com/pe7er/db8-joomla-framework-example
Functionaliteiten:
- Geen Joomla CMS nodig
- Gebruikt alleen Joomla Framework-pakketten
- Toont artikelen uit een Joomla-database
- Opmaak met Bootstrap 5
- Eenvoudig te configureren
Vereisten:
- PHP 8.1 of nieuwer
- Composer
- Een Joomla 4 of 5-database
- Webserver met toegang tot
index.php
Installatie:
git clone Dit e-mailadres wordt beveiligd tegen spambots. JavaScript dient ingeschakeld te zijn om het te bekijken. :pe7er/db8-joomla-framework-example.git
cd db8-joomla-framework-example
composer install
Configuratie:
Kopieer .env.example
naar .env
en vul je databasegegevens in.
Start de app:
php -S localhost:8000
Bezoek daarna http://localhost:8000 in je browser. Je ziet dan een lijst met Joomla-artikelen.
Meer leren?
Samengevat
Het Joomla Framework is krachtig en flexibel. Je kunt het gebruiken met Joomla — of los ervan. Ideaal om tijd te besparen en schonere code te schrijven.
Alles wat je nodig hebt is Composer… en een beetje nieuwsgierigheid.