PHPackages                             labor-digital/typo3-better-api-composer-plugin - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. labor-digital/typo3-better-api-composer-plugin

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

labor-digital/typo3-better-api-composer-plugin
==============================================

TYPO3: Provides a global auto-loader hook which runs before TYPO3's class alias loader

4.1.0(4y ago)02.0k1Apache-2.0PHP

Since Mar 21Pushed 4y agoCompare

[ Source](https://github.com/labor-digital/typo3-better-api-composer-plugin)[ Packagist](https://packagist.org/packages/labor-digital/typo3-better-api-composer-plugin)[ RSS](/packages/labor-digital-typo3-better-api-composer-plugin/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (6)Versions (17)Used By (1)

Better Api Composer Plugin
==========================

[](#better-api-composer-plugin)

To provide extended functionality to the TYPO3 core we need to listen for loaded classes. However, TYPO3 uses the ClassAliasLoader which registers itself (you can configure this now, but the default is still TRUE) as first possible autoloader (spl\_autoload\_register -&gt; FLAG prepend is set to true).

The resulting problem is, that there is literary no way of adding an additional class loader to the stack.

Why do I need a class loader? Well, I have to bootstrap the extension as soon as the environment builder prepared the "Environment" class to create the "core modding" class overrides. But there is no hook or signal or anything I could use to call said bootstrap other than watching for required classes and trigger the better api bootstrap as soon as the "\\TYPO3\\CMS\\Core\\Core\\Bootstrap" class is loaded.

This plugin is a temporary solution to the problem. As soon as I see a better one I will gladly drop this composer plugin again.

Usage in a development environment
----------------------------------

[](#usage-in-a-development-environment)

If you want to install a package, that somehow depends on this plugin without running in a real TYPO3 project (aka. Dev or Test Scenario), make sure you set the following flag in your composer.json to avoid crashes!

```
{
  "extra": {
    "T3BA": {
      "isDev": true
    }
  }
}
```

Postcardware
------------

[](#postcardware)

You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: LABOR.digital - Fischtorplatz 21 - 55116 Mainz, Germany

We publish all received postcards on our [company website](https://labor.digital).

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity64

Established project with proven stability

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 ~55 days

Recently: every ~78 days

Total

15

Last Release

1467d ago

Major Versions

2.1.1 → 3.0.02020-04-30

3.1.0 → 4.0.0-beta.12021-05-03

3.2.2 → 4.1.02021-06-28

### Community

Maintainers

![](https://www.gravatar.com/avatar/0eb1c26fb5a535cd7a656faffbae7929009558b2bfa6156b2be7b636d689e13a?d=identicon)[labor-digital](/maintainers/labor-digital)

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

### Embed Badge

![Health badge](/badges/labor-digital-typo3-better-api-composer-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/labor-digital-typo3-better-api-composer-plugin/health.svg)](https://phpackages.com/packages/labor-digital-typo3-better-api-composer-plugin)
```

###  Alternatives

[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

2994.3M16](/packages/vaimo-composer-patches)[mglaman/composer-drupal-lenient

1317.4M15](/packages/mglaman-composer-drupal-lenient)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5341.9M446](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2122.6M172](/packages/drupal-core-project-message)[olvlvl/composer-attribute-collector

A convenient and near zero-cost way to retrieve targets of PHP 8 attributes

184108.8k8](/packages/olvlvl-composer-attribute-collector)[lullabot/drainpipe

An automated build tool to allow projects to have a set standardized operations scripts.

41716.4k2](/packages/lullabot-drainpipe)

PHPackages © 2026

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