diff --git a/lib/Config/Initializer.php b/lib/Config/Initializer.php index 44723132ac..de32e9c0e6 100644 --- a/lib/Config/Initializer.php +++ b/lib/Config/Initializer.php @@ -4,6 +4,7 @@ namespace MailPoet\Config; use MailPoet\API; use MailPoet\Cron\CronTrigger; +use MailPoet\DI\ContainerFactory; use MailPoet\Models\Setting; use MailPoet\Router; use MailPoet\Util\ConflictResolver; @@ -18,6 +19,7 @@ require_once(ABSPATH . 'wp-admin/includes/plugin.php'); class Initializer { private $access_control; private $renderer; + private $container; const INITIALIZED = 'MAILPOET_INITIALIZED'; @@ -50,6 +52,8 @@ class Initializer { )); } + $this->compileContainer(); + // activation function register_activation_hook( Env::$file, @@ -170,7 +174,7 @@ class Initializer { } function setupAccessControl() { - $this->access_control = new AccessControl(); + $this->access_control = $this->container->get(AccessControl::class); } function setupInstaller() { diff --git a/lib/DI/ContainerFactory.php b/lib/DI/ContainerFactory.php new file mode 100644 index 0000000000..e8a43815c8 --- /dev/null +++ b/lib/DI/ContainerFactory.php @@ -0,0 +1,26 @@ +load('services.yml'); + } +} diff --git a/lib/DI/services.yml b/lib/DI/services.yml new file mode 100644 index 0000000000..3904d400f3 --- /dev/null +++ b/lib/DI/services.yml @@ -0,0 +1,5 @@ +parameters: + +services: + _defaults: + autowire: true