Bei dieser Software handelt es sich um eine Erweiterung für das Open Source CMS Contao, die Zugriff auf die Datenbank vereinfacht.
Patrick Froch hallo@patrick-froch.de
Die Software wird unter LGPL-v3 veröffentlicht. Details sind in der Datei LICENSE zu finden.
- php: ~8.1
- contao/core-bundle: ~4.13|^5.0
- patrickfroch/databaselayer: ^1.0
Die Installation geschieht über den ContaoManager. Einfach nach esit/databaselayer suchen und installieren.
Aleternativ kann die Erweiterung mit folgendem Befehl über Composer installiert werden:
composer require esit/databaselayerDa die Funktionalität auf verschiedene Klassen aufgeteilt ist, gibt es eine Fassade, die die Funktion bündelt.
Für die Verwendung der Erweiterung wird fast ausschließlich der DatabaseHelper verwendet. Dieser ermöglicht einfache
Datenbankoperationen wie loadByValue, loadByList, insert, update und delete. Wenn man komplexere Abfragen
benötigt, kann man sich mit getQueryBuilder einen QueryBuilder geben lassen und die Abfrage manuell erstellen.
use \Esit\Databaselayer\Classes\Services\Helper\DatabaseHelper;
myClass
{
private DatabaseHelper $dbHelper;
public function __construct(DatabaseHelper $dbHelper)
{
$this->dbHelper = $dbHelper;
}
public function myTest(): void
{
// lesende Operationen
$row = $this->dbHelper->loadByValue(12, 'id', 'tl_member');
$collection = $this->dbHelper->loadByList([12, 13, 14 ,15], 'id', 'tl_member');
// schreibende Operationen
unset($row['id']); // Id muss unique sein!
$id = $this->dbHelper->insert($row, 'tl_member');
$this->dbHelper->update($row, 16, 'tl_member');
$this->dbHelper->delete(16, 'tl_member');
// Verwendung des QueryBuilders
$query = $this->dbHelper->getQueryBuilder();
$query->select('*')->from('tl_member')->where->('id > :id')->setParameter('id', 12);
$result = $query->executeQuery();
}
}Die Erweiterung wurde erfolgreich mit folgenden Kombinationen aus PHP und Contao getestet:
| Contao | ||||
|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ |