patrickfroch / ctoadapter
Es handelt sich um eine Erweiterung für das Open Source CMS Contao, das eine Möglichkeit bietet, die statischen Methoden von Contao als Instanzmethoden zu nutzen. Dies erleichtert das Testen der aufrufenden Methoden erheblich.
Package info
github.com/patrickfroch/ctoadapter
Type:contao-bundle
pkg:composer/patrickfroch/ctoadapter
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. Sie fügt Adapter für die Klassen von Contao hinzu. Die Klassen mit statischen Methoden können in Tests schlecht injiziert werden und eignen sich deshalt nur bedingt für Softwaretests. Mit dieser Erweiterung können die statischen Methoden als Instanzmethoden genutzt und somit in Tests besser verwendet werden.
Autor
Patrick Froch hallo@patrick-froch.de
Lizenz
Die Software wird unter LGPL veröffentlicht. Details sind in der Datei LICENSE zu finden.
Voraussetzungen
- php: ^8.1
- contao/core-bundle: ~4.13|^5.0
Installation
Die Installation geschieht über den ContaoManager. Einfach nach esit/ctoadapter suchen und installieren.
Aleternativ kann die Erweiterung mit folgendem Befehl über Composer installiert werden:
composer require esit/ctoadapter
Einrichtung
Die Klassen können einfach per Dependency Injection über den Container bezogen werden. Sie haben den gleichen Namen,
wie die Originalklassen. Mittels autowiring können die Klassen automatisch injeziert werden.
Der Namespace lautet Esit\Ctoadapter\Classes\Services\Adapter.
Die folgenden Klassen stehen zur Verfügung:
ConfigControllerDatabaseEnvironmentFilesModelIdnaInputMessageModuleModelPageModelStringUtilSystemValidator
Getestete Versionen
Die Erweiterung wurde erfolgreich mit folgenden Kombinationen aus PHP und Contao getestet:
| Contao | ||||
|---|---|---|---|---|
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ | |
| ✓ | ✓ | ✓ | ✓ |