PluginProbe
JCH Optimize / trunk
JCH Optimize vtrunk
6.0.2 6.0.1 trunk 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.2.0 1.2.1 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.10.0 2.2.0 2.2.1 All 58 releases
jch-optimize / src / Service / PluginProvider.php

PluginProvider.php in JCH Optimize trunk, at src/Service/PluginProvider.php

73 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace JchOptimize\WordPress\Service;
4
5 use _JchOptimizeVendor\V91\Joomla\DI\Container;
6 use _JchOptimizeVendor\V91\Joomla\DI\ServiceProviderInterface;
7 use _JchOptimizeVendor\V91\Psr\Log\LoggerInterface;
8 use JchOptimize\Core\Admin\AdminHelper;
9 use JchOptimize\Core\Admin\AdminTasks;
10 use JchOptimize\Core\Model\CacheMaintainer;
11 use JchOptimize\Core\PageCache\PageCache;
12 use JchOptimize\Core\Platform\PathsInterface;
13 use JchOptimize\Core\Platform\UtilityInterface;
14 use JchOptimize\Core\Registry;
15 use JchOptimize\WordPress\ControllerResolver;
16 use JchOptimize\WordPress\Model\ReCache;
17 use JchOptimize\WordPress\Plugin\Admin;
18 use JchOptimize\WordPress\Plugin\Installer;
19 use JchOptimize\WordPress\Plugin\Loader;
20 use JchOptimize\WordPress\Plugin\Updater;
21
22 class PluginProvider implements ServiceProviderInterface
23 {
24 public function register(Container $container): void
25 {
26 $container->share(Loader::class, [$this, 'getLoaderService'], true);
27 $container->share(Admin::class, [$this, 'getAdminService'], true);
28 $container->share(Updater::class, [$this, 'getUpdaterService'], true);
29 $container->share(Installer::class, [$this, 'getInstallerService'], true);
30 }
31
32 public function getLoaderService(Container $container): Loader
33 {
34 $loader = new Loader(
35 $container->get(Registry::class),
36 $container->get(Admin::class),
37 $container->get(Installer::class),
38 $container->get(PageCache::class),
39 $container->get(UtilityInterface::class),
40 $container->get(Updater::class),
41 );
42 $loader->setContainer($container)
43 ->setLogger($container->get(LoggerInterface::class));
44
45 return $loader;
46 }
47
48 public function getAdminService(Container $container): Admin
49 {
50 return (new Admin(
51 $container->get('params'),
52 $container->get(ControllerResolver::class),
53 $container->get(PathsInterface::class),
54 ))->setContainer($container);
55 }
56
57 public function getUpdaterService(Container $container): ?Updater
58 {
59 return new Updater($container->get('params'));
60 }
61
62 public function getInstallerService(Container $container): Installer
63 {
64 return new Installer(
65 $container->get(Registry::class),
66 $container->get(AdminTasks::class),
67 $container->get(AdminHelper::class),
68 $container->get(CacheMaintainer::class),
69 $container
70 );
71 }
72 }
73