PHPackages                             patrickfroch/ctoadapter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. patrickfroch/ctoadapter

ActiveContao-bundle[Testing &amp; Quality](/categories/testing)

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.

2.1.0(1mo ago)01↓100%2LGPL-3.0-or-laterPHPPHP ~8.1

Since Jan 23Pushed 1mo agoCompare

[ Source](https://github.com/patrickfroch/ctoadapter)[ Packagist](https://packagist.org/packages/patrickfroch/ctoadapter)[ RSS](/packages/patrickfroch-ctoadapter/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (6)Versions (8)Used By (2)

Ctoadapter
==========

[](#ctoadapter)

[![PHP >= 8.1](https://camo.githubusercontent.com/541d376963feedd696892c1a022d2cfc22ebf3b6a56ff5eae9ada0d6404c3813/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d2532302533453d253230382e312e302d2532333838393242463f6c6f676f3d504850)](https://camo.githubusercontent.com/541d376963feedd696892c1a022d2cfc22ebf3b6a56ff5eae9ada0d6404c3813/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d2532302533453d253230382e312e302d2532333838393242463f6c6f676f3d504850)[![Contao >= 4.13](https://camo.githubusercontent.com/ef04213516d9f41ce0bfe5df3b3d7164471d35eea933eef1a86c68b5bfa8ef77/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d2533453d253230342e31332e302d6f72616e67653f6c6f676f3d646174613a696d6167652f706e673b6261736536342c6956424f5277304b47676f414141414e5355684555674141414241414141414f434159414141416d4c35794b4141414268476c445131424a51304d6763484a765a6d6c735a5141414b4a46396b5431497730416378563954533657304f4a68427843464437575242564d52527131434543714657614e58426650514c6d6a516b4b53364f676d764277592f46716f4f4c7336344f726f49672b4148693575616b3643496c2f69387074496a78344c6766372b343937743442584b756d614662664f4b447074706c4e703452385956554976794b4345474c676b5a4155793567547851783878396339416d7939533749732f334e2f6a70686174425167494244504b6f5a704532385154322f6142754e39596c3670534372784f6647595352636b666d53363750456234374c4c484d766b7a5678326e70676e46736f394c506577556a453134696e69754b72706c4d2f6c5056595a627a48576167326c63302f32776d685258316c6d4f733052704c47494a596751494b4f424b6d71776b6152564a3856436c765a545076356831792b5353795a5846516f35466c434842736e31672f334237323674307553456c78524e41614558782f6b5942634b37514c76704f4e2f486a744d2b41594c50774a586539646462774d776e36633275466a384342726142692b75754a7538426c7a7641304a4d686d5a497242576c7970524c77666b626656414147623448496d7464625a782b6e4430434f7573726341416548514b4a4d3265732b372b3776376533664d35332b66674244626e4b554a7747495767414141415a6953306445415038412f77442f6f4c326e6b77414141416c7753466c7a41414175497741414c694d42654b552f646741414141643053553146422b554b4251305a41475472386b6b414141415a6445565964454e766257316c626e514151334a6c5958526c5a4342336158526f4945644a5456425867513458414141426c306c455156516f7a3432534f307363555269476e334e6d6e474664644a4d6f4772587855726d67424154646d496753624453535367674b676f57676c5a444b526f52552b51464a49536c43324370462f6f4159466f4c694e6e4642633046696b51323569524233635532387a4d34354b555a5a6a694e6b76753637764d2f336372346a6a7061757261474c2f6537306c725462752f6c66654f2f584f4873394176704d675a5752714f4a642b39367253474b4171713442724d3446304a35456e777a5a414537767144476b2f3559347a615452657a7459795747632f67654143486f6e663542745066676667316c627473346a716d734d774f6e71532f78333877436f72382f51785757514e763658446653504678657341494362434e6e55686279526c374e7a6c55535973784a5644674745573050556b4f723753726a596e49774f344469484f7678744668766249674e73414c582f44566c625677453052514134486141744a4944362b646c306b4b6848584c3976436d4970374d4530376b5357324b4e66784264336b5132334134432f75783561594e32614e5050754b647a684b65786b436e6e6a4a6769424f7668773769442f464831554e4233326a5346625a6f4b724e447a4575544e753946566848343433677a63413844356c635870484b71654d31784b626659343666494a4d314963636c7266666e6c3942786e49413370764836464c68306f635156347239765478655a675a6b505073504d724635752b6a422f795541414141415355564f524b35435949493d)](https://camo.githubusercontent.com/ef04213516d9f41ce0bfe5df3b3d7164471d35eea933eef1a86c68b5bfa8ef77/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d2533453d253230342e31332e302d6f72616e67653f6c6f676f3d646174613a696d6167652f706e673b6261736536342c6956424f5277304b47676f414141414e5355684555674141414241414141414f434159414141416d4c35794b4141414268476c445131424a51304d6763484a765a6d6c735a5141414b4a46396b5431497730416378563954533657304f4a68427843464437575242564d52527131434543714657614e58426650514c6d6a516b4b53364f676d764277592f46716f4f4c7336344f726f49672b4148693575616b3643496c2f69387074496a78344c6766372b343937743442584b756d614662664f4b447074706c4e703452385956554976794b4345474c676b5a4155793567547851783878396339416d7939533749732f334e2f6a70686174425167494244504b6f5a704532385154322f6142754e39596c3670534372784f6647595352636b666d53363750456234374c4c484d766b7a5678326e70676e46736f394c506577556a453134696e69754b72706c4d2f6c5056595a627a48576167326c63302f32776d685258316c6d4f733052704c47494a596751494b4f424b6d71776b6152564a3856436c765a545076356831792b5353795a5846516f35466c434842736e31672f334237323674307553456c78524e41614558782f6b5942634b37514c76704f4e2f486a744d2b41594c50774a586539646462774d776e36633275466a384342726142692b75754a7538426c7a7641304a4d686d5a497242576c7970524c77666b626656414147623448496d7464625a782b6e4430434f7573726341416548514b4a4d3265732b372b3776376533664d35332b66674244626e4b554a7747495767414141415a6953306445415038412f77442f6f4c326e6b77414141416c7753466c7a41414175497741414c694d42654b552f646741414141643053553146422b554b4251305a41475472386b6b414141415a6445565964454e766257316c626e514151334a6c5958526c5a4342336158526f4945644a5456425867513458414141426c306c455156516f7a3432534f307363555269476e334e6d6e474664644a4d6f4772587855726d67424154646d496753624453535367674b676f57676c5a444b526f52552b51464a49536c43324370462f6f4159466f4c694e6e4642633046696b51323569524233635532387a4d34354b555a5a6a694e6b76753637764d2f336372346a6a7061757261474c2f6537306c725462752f6c66654f2f584f4873394176704d675a5752714f4a642b39367253474b4171713442724d3446304a35456e777a5a414537767144476b2f3559347a615452657a7459795747632f67654143486f6e663542745066676667316c627473346a716d734d774f6e71532f78333877436f72382f51785757514e763658446653504678657341494362434e6e55686279526c374e7a6c55535973784a5644674745573050556b4f723753726a596e49774f344469484f7678744668766249674e73414c582f44566c625677453052514134486141744a4944362b646c306b4b6848584c3976436d4970374d4530376b5357324b4e66784264336b5132334134432f75783561594e32614e5050754b647a684b65786b436e6e6a4a6769424f7668773769442f464831554e4233326a5346625a6f4b724e447a4575544e753946566848343433677a63413844356c635870484b71654d31784b626659343666494a4d314963636c7266666e6c3942786e49413370764836464c68306f635156347239765478655a675a6b505073504d724635752b6a422f795541414141415355564f524b35435949493d)[![PHPStan Level 9](https://camo.githubusercontent.com/f09b2c567f486d3ced51f191d996162e048bc863a83552fa6a60ae82393ce48c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d2532304c6576656c253230392d2532333235363365623f6c6f676f3d504850)](https://camo.githubusercontent.com/f09b2c567f486d3ced51f191d996162e048bc863a83552fa6a60ae82393ce48c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d2532304c6576656c253230392d2532333235363365623f6c6f676f3d504850)

Beschreibung
------------

[](#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
-----

[](#autor)

Patrick Froch

Lizenz
------

[](#lizenz)

Die Software wird unter LGPL veröffentlicht. Details sind in der Datei `LICENSE` zu finden.

Voraussetzungen
---------------

[](#voraussetzungen)

- php: ^8.1
- contao/core-bundle: ~4.13|^5.0

Installation
------------

[](#installation)

Die Installation geschieht über den ContaoManager. Einfach nach `esit/ctoadapter` suchen und installieren. Aleternativ kann die Erweiterung mit folgendem Befehl über [Composer](https://getcomposer.org/) installiert werden:

```
composer require esit/ctoadapter
```

Einrichtung
-----------

[](#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:

- `Config`
- `Controller`
- `Database`
- `Environment`
- `FilesModel`
- `Idna`
- `Input`
- `Message`
- `ModuleModel`
- `PageModel`
- `StringUtil`
- `System`
- `Validator`

Getestete Versionen
-------------------

[](#getestete-versionen)

Die Erweiterung wurde erfolgreich mit folgenden Kombinationen aus PHP und Contao getestet:

Contao[![PHP 8.2](https://camo.githubusercontent.com/dd14c71d22c26965797476c88c43ebb2ba06db225049c4496c17682cfe2e7dea/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253230253230382e322d2532333838393242463f6c6f676f3d504850)](https://camo.githubusercontent.com/dd14c71d22c26965797476c88c43ebb2ba06db225049c4496c17682cfe2e7dea/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253230253230382e322d2532333838393242463f6c6f676f3d504850)[![PHP 8.3](https://camo.githubusercontent.com/6c1cea9be23b7b925f494231eb3b97131b390346ff40272414eaa1091190aa43/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253230253230382e332d2532333838393242463f6c6f676f3d504850)](https://camo.githubusercontent.com/6c1cea9be23b7b925f494231eb3b97131b390346ff40272414eaa1091190aa43/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253230253230382e332d2532333838393242463f6c6f676f3d504850)[![PHP 8.4](https://camo.githubusercontent.com/a605faeed2375fec37eddb6b2558d47b91d14d114706b26e73f737eac8cba79a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253230253230382e342d2532333838393242463f6c6f676f3d504850)](https://camo.githubusercontent.com/a605faeed2375fec37eddb6b2558d47b91d14d114706b26e73f737eac8cba79a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253230253230382e342d2532333838393242463f6c6f676f3d504850)[![PHP 8.5](https://camo.githubusercontent.com/3c821f7ab8b644ec19910cf5a7a192ef18b413dd50e82d1c3155ac8bf13fc31f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253230253230382e352d2532333838393242463f6c6f676f3d504850)](https://camo.githubusercontent.com/3c821f7ab8b644ec19910cf5a7a192ef18b413dd50e82d1c3155ac8bf13fc31f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253230253230382e352d2532333838393242463f6c6f676f3d504850)[![Contao 4.13](https://camo.githubusercontent.com/b10a2ff05626655b373ffeba9b4ecb2c823163f9f78ac464690ea718042205df/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230342e31332d6f72616e67653f6c6f676f3d436f6e74616f)](https://camo.githubusercontent.com/b10a2ff05626655b373ffeba9b4ecb2c823163f9f78ac464690ea718042205df/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230342e31332d6f72616e67653f6c6f676f3d436f6e74616f)✓✓✓✓[![Contao 5.0](https://camo.githubusercontent.com/40491aad26a4c27a1082a6e90be97787706a47ae705398c014d870a05d19c657/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e302d6f72616e67653f6c6f676f3d436f6e74616f)](https://camo.githubusercontent.com/40491aad26a4c27a1082a6e90be97787706a47ae705398c014d870a05d19c657/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e302d6f72616e67653f6c6f676f3d436f6e74616f)✓✓✓✓[![Contao 5.1](https://camo.githubusercontent.com/2042149bbd3a54477b8b4d113a5033e52a812f8baa0b84f57912a2473d961f8c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e312d6f72616e67653f6c6f676f3d436f6e74616f)](https://camo.githubusercontent.com/2042149bbd3a54477b8b4d113a5033e52a812f8baa0b84f57912a2473d961f8c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e312d6f72616e67653f6c6f676f3d436f6e74616f)✓✓✓✓[![Contao 5.2](https://camo.githubusercontent.com/902b30d49dd8e9f6df9a8b10b48eedc5c7a44dfde7dbee36d7fe805b3d69fc95/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e322d6f72616e67653f6c6f676f3d436f6e74616f)](https://camo.githubusercontent.com/902b30d49dd8e9f6df9a8b10b48eedc5c7a44dfde7dbee36d7fe805b3d69fc95/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e322d6f72616e67653f6c6f676f3d436f6e74616f)✓✓✓✓[![Contao 5.3](https://camo.githubusercontent.com/0fbc5f708d4d69330415588819b219383c062bc4fd270f8c1fc588e365456674/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e332d6f72616e67653f6c6f676f3d436f6e74616f)](https://camo.githubusercontent.com/0fbc5f708d4d69330415588819b219383c062bc4fd270f8c1fc588e365456674/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e332d6f72616e67653f6c6f676f3d436f6e74616f)✓✓✓✓[![Contao 5.4](https://camo.githubusercontent.com/642201ab6f14cb0c836324e506462c83a4c6249abec30a1278213ae8154fac20/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e342d6f72616e67653f6c6f676f3d436f6e74616f)](https://camo.githubusercontent.com/642201ab6f14cb0c836324e506462c83a4c6249abec30a1278213ae8154fac20/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e342d6f72616e67653f6c6f676f3d436f6e74616f)✓✓✓✓[![Contao 5.5](https://camo.githubusercontent.com/ac952d90da50ffc45b17d4d3661761f1a5686148ae25796ea1ad29ea81cfe6e3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e352d6f72616e67653f6c6f676f3d436f6e74616f)](https://camo.githubusercontent.com/ac952d90da50ffc45b17d4d3661761f1a5686148ae25796ea1ad29ea81cfe6e3/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f6e74616f2533412d253230352e352d6f72616e67653f6c6f676f3d436f6e74616f)✓✓✓✓

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance91

Actively maintained with recent releases

Popularity2

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~198 days

Recently: every ~278 days

Total

7

Last Release

42d ago

Major Versions

1.0.4 → 2.0.02026-04-21

PHP version history (3 changes)1.0.0PHP ^8.1

1.0.1PHP ~8.0

2.0.0PHP ~8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/d9cfea42eb59a299a95d734fe5b27b90f572ccbcf947425ba5b0de743df7d679?d=identicon)[patrickfroch](/maintainers/patrickfroch)

---

Top Contributors

[![eS-IT](https://avatars.githubusercontent.com/u/1199106?v=4)](https://github.com/eS-IT "eS-IT (12 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/patrickfroch-ctoadapter/health.svg)

```
[![Health](https://phpackages.com/badges/patrickfroch-ctoadapter/health.svg)](https://phpackages.com/packages/patrickfroch-ctoadapter)
```

###  Alternatives

[codefog/contao-haste

haste extension for Contao Open Source CMS

46668.4k162](/packages/codefog-contao-haste)[contao/manager-bundle

Provides the Contao Managed Edition

181.3M67](/packages/contao-manager-bundle)[markocupic/calendar-event-booking-bundle

Contao Calendar Event Booking Bundle

135.1k1](/packages/markocupic-calendar-event-booking-bundle)[contao-community-alliance/dc-general

Universal data container for Contao

1579.5k90](/packages/contao-community-alliance-dc-general)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3187.0k6](/packages/codefog-contao-news-categories)[terminal42/contao-folderpage

Provides a new page type for Contao that allows you to group pages into folders.

18153.4k10](/packages/terminal42-contao-folderpage)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
