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(2mo ago)012LGPL-3.0-or-laterPHPPHP ~8.1

Since Jan 23Pushed 2mo agoCompare

[ Source](https://github.com/patrickfroch/ctoadapter)[ Packagist](https://packagist.org/packages/patrickfroch/ctoadapter)[ RSS](/packages/patrickfroch-ctoadapter/feed)WikiDiscussions main Synced 3w 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

41

—

FairBetter than 87% of packages

Maintenance83

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity60

Established project with proven stability

 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

88d 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://avatars.githubusercontent.com/u/220391850?v=4)[Patrick Froch](/maintainers/patrickfroch)[@patrickfroch](https://github.com/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

[metamodels/core

MetaModels core

10156.4k68](/packages/metamodels-core)[contao/manager-bundle

Provides the Contao Managed Edition

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

Contao Calendar Event Booking Bundle

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

Universal data container for Contao

1680.8k92](/packages/contao-community-alliance-dc-general)[codefog/contao-news_categories

News Categories bundle for Contao Open Source CMS

3189.0k6](/packages/codefog-contao-news-categories)[terminal42/contao-node

Node bundle for Contao Open Source CMS

3177.0k6](/packages/terminal42-contao-node)

PHPackages © 2026

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