Project

General

Profile

Actions

Feature #97247

closed

TYPO3 extensions ins typo3conf/ext should use namespace & cleaner bootstrapping (replacement for ext_localconf.php)

Added by Gabriel Kaufmann / Typoworx NewMedia over 2 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2022-03-28
Due date:
% Done:

0%

Estimated time:
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

Beside TYPO3 I have some background work with Laravel & Package development. I think for more recent TYPO3-Versions these suggestions should be considered:

1.) Extensions should not be installed as typo3conf/ext/my-package ,
instead it should also use namespace, like: typo3conf/ext/myvendor.my-package

2. Using ext_localconf.php feels really "dusty" while working with some other php-frameworks & package-development.

I think there would be many advantages using a bootstrap-class instead. Just to give a hint what I mean.

For Laravel packages an integration looks like this, being able to register configuration, services, routes and so on

use Illuminate\Support\ServiceProvider;

namespace ExamplePackage {
  # Custom 'use'-statements are here

  class ExamplePackageServiceProvider extends ServiceProvider
  {
    public function boot()
    {
        # code...
    }
    public function register()
    {
        # code...
    }
  }
}

I would love TYPO3 using now a lot of Symfony components to adopt this as replacement for ext_localconf.php. I even think it would be "easy" to wrap existing ext_localconf.php's into such a structure.

There could be so many advantages just to mention:
- These files could be serialized for caching
- every Extension configuration are wrapped into it's own namespace!
- Loading and handling of each boostrapper could be wrapped with try/catch making everything more stable and fault-tolerant.
- the whole integration for packages follows more modern principles

If you agree I would love to help implementing such modernisation. I think this could be done flawless while preserving the current behaviour of ext_localconf.php configurations.

Actions

Also available in: Atom PDF