patrickfroch / databaselayer
Bei dieser Software handelt es sich um eine Erweiterung für das Open Source CMS Contao, die Zugriff auf die Datenbank vereinfacht.
Package info
github.com/patrickfroch/databaselayer
Type:contao-bundle
pkg:composer/patrickfroch/databaselayer
Requires
- php: ^8.1
- contao/core-bundle: ~4.13|^5.0
Requires (Dev)
- contao/test-case: ~4.13|^5.0
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^9.5|^12.0
- squizlabs/php_codesniffer: ^4.0
- symplify/easy-coding-standard: ^13.0
README
Beschreibung
Bei dieser Software handelt es sich um eine Erweiterung für das Open Source CMS Contao, die Zugriff auf die Datenbank vereinfacht.
Autor
Patrick Froch hallo@patrick-froch.de
Lizenz
Die Software wird unter LGPL-v3 veröffentlicht. Details sind in der Datei LICENSE zu finden.
Voraussetzungen
- php: ~8.1
- contao/core-bundle: ~4.13|^5.0
- patrickfroch/databaselayer: ^1.0
Installation
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/databaselayer
Verwendung
Da 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(); } }
Getestete Versionen
Die Erweiterung wurde erfolgreich mit folgenden Kombinationen aus PHP und Contao getestet:
| Contao | ||||
|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ |