Feature #97247
closedTYPO3 extensions ins typo3conf/ext should use namespace & cleaner bootstrapping (replacement for ext_localconf.php)
0%
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.