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

@@ -15,6 +15,7 @@ namespace VDM\Joomla\Componentbuilder\Compiler\Service;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use VDM\Joomla\Componentbuilder\Compiler\Joomlaplugin\Data as JoomlaPluginData;
use VDM\Joomla\Componentbuilder\Compiler\Joomlaplugin\Builder as JoomlaPluginBuilder;
/**
@@ -36,6 +37,9 @@ class Joomlaplugin implements ServiceProviderInterface
{
$container->alias(JoomlaPluginData::class, 'Joomlaplugin.Data')
->share('Joomlaplugin.Data', [$this, 'getJoomlaPluginData'], true);
$container->alias(JoomlaPluginBuilder::class, 'Joomlaplugin.Builder')
->share('Joomlaplugin.Builder', [$this, 'getJoomlaPluginBuilder'], true);
}
/**
@@ -59,6 +63,30 @@ class Joomlaplugin implements ServiceProviderInterface
$container->get('Model.Filesfolders')
);
}
/**
* Get the Joomla Plugin Builder
*
* @param Container $container The DI container.
*
* @return JoomlaPluginBuilder
* @since 3.2.0
*/
public function getJoomlaPluginBuilder(Container $container): JoomlaPluginBuilder
{
return new JoomlaPluginBuilder(
$container->get('Joomlaplugin.Data'),
$container->get('Component'),
$container->get('Config'),
$container->get('Registry'),
$container->get('Customcode.Dispenser'),
$container->get('Event'),
$container->get('Utilities.Counter'),
$container->get('Utilities.Folder'),
$container->get('Utilities.File'),
$container->get('Utilities.Files')
);
}
}