<?php declare( strict_types=1 ); namespace WPDesk\Init\HookDriver; use Psr\Container\ContainerInterface; use WPDesk\Init\HookDriver\Legacy\HooksRegistry; final class LegacyDriver implements HookDriver { /** @var ContainerInterface */ private $container; public function __construct( ContainerInterface $container ) { if ( ! class_exists( \WPDesk_Plugin_Info::class ) ) { throw new \LogicException( 'Legacy driver cannot be used as the plugin builder component is unavailable. Try running "composer require wpdesk/wp-builder".' ); } $this->container = $container; } public function register_hooks(): void { HooksRegistry::instance()->inject_container( $this->container ); $info = $this->container->get( \WPDesk_Plugin_Info::class ); $class_name = $info->get_class_name(); $p = new $class_name( $info ); add_action( 'plugins_loaded', [ $p, 'init' ], -45 ); } }