Move the Power, Plugin and Module builders into the container. Many more PHP 8 improvments.

This commit is contained in:
2023-01-29 22:12:42 +02:00
parent e6c02a29f6
commit 7edbe20c33
68 changed files with 3443 additions and 1681 deletions

View File

@@ -14,7 +14,8 @@ namespace VDM\Joomla\Componentbuilder\Compiler\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Library\Data as LibraryData;
use VDM\Joomla\Componentbuilder\Compiler\Library\Data;
use VDM\Joomla\Componentbuilder\Compiler\Library\Builder;
/**
@@ -34,8 +35,11 @@ class Library implements ServiceProviderInterface
*/
public function register(Container $container)
{
$container->alias(LibraryData::class, 'Library.Data')
->share('Library.Data', [$this, 'getLibraryData'], true);
$container->alias(Data::class, 'Library.Data')
->share('Library.Data', [$this, 'getData'], true);
$container->alias(Builder::class, 'Library.Builder')
->share('Library.Builder', [$this, 'getBuilder'], true);
}
/**
@@ -43,12 +47,12 @@ class Library implements ServiceProviderInterface
*
* @param Container $container The DI container.
*
* @return LibraryData
* @return Data
* @since 3.2.0
*/
public function getLibraryData(Container $container): LibraryData
public function getData(Container $container): Data
{
return new LibraryData(
return new Data(
$container->get('Config'),
$container->get('Registry'),
$container->get('Customcode'),
@@ -57,6 +61,29 @@ class Library implements ServiceProviderInterface
$container->get('Model.Filesfolders')
);
}
/**
* Get the Compiler Library Builder
*
* @param Container $container The DI container.
*
* @return Builder
* @since 3.2.0
*/
public function getBuilder(Container $container): Builder
{
return new Builder(
$container->get('Config'),
$container->get('Registry'),
$container->get('Event'),
$container->get('Component'),
$container->get('Content'),
$container->get('Utilities.Counter'),
$container->get('Utilities.Paths'),
$container->get('Utilities.Folder'),
$container->get('Utilities.File')
);
}
}