PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 3.3.3
WP STAGING – WordPress Backup, Restore, Migration & Clone v3.3.3
4.9.3 4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Basic / Backup / BackupServiceProvider.php
wp-staging / Basic / Backup Last commit date
BackupServiceProvider.php 2 years ago
BackupServiceProvider.php
95 lines
1 <?php
2
3 namespace WPStaging\Basic\Backup;
4
5 use WPStaging\Backup\Dto\Job\JobBackupDataDto;
6 use WPStaging\Backup\Dto\Job\JobRestoreDataDto;
7 use WPStaging\Backup\Dto\JobDataDto;
8 use WPStaging\Backup\Job\AbstractJob;
9 use WPStaging\Backup\Job\JobBackupProvider;
10 use WPStaging\Backup\Job\JobRestoreProvider;
11 use WPStaging\Backup\Job\Jobs\JobBackup;
12 use WPStaging\Backup\Job\Jobs\JobRestore;
13 use WPStaging\Backup\Service\Compression\CompressionInterface;
14 use WPStaging\Backup\Service\Compression\NonCompressionService;
15 use WPStaging\Backup\Service\Database\Exporter\AbstractExporter;
16 use WPStaging\Backup\Service\Database\Exporter\DDLExporter;
17 use WPStaging\Backup\Service\Database\Exporter\DDLExporterProvider;
18 use WPStaging\Backup\Service\Database\Exporter\RowsExporter;
19 use WPStaging\Backup\Service\Database\Exporter\RowsExporterProvider;
20 use WPStaging\Backup\Service\Database\Importer\BasicDatabaseSearchReplacer;
21 use WPStaging\Backup\Service\Database\Importer\DatabaseSearchReplacerInterface;
22 use WPStaging\Backup\Service\Multipart\MultipartInjection;
23 use WPStaging\Backup\Service\Multipart\MultipartRestoreInterface;
24 use WPStaging\Backup\Service\Multipart\MultipartRestorer;
25 use WPStaging\Backup\Service\Multipart\MultipartSplitInterface;
26 use WPStaging\Backup\Service\Multipart\MultipartSplitter;
27 use WPStaging\Backup\Service\ZlibCompressor;
28 use WPStaging\Backup\Task\Tasks\JobRestore\RestoreDatabaseTask;
29 use WPStaging\Framework\DI\ServiceProvider;
30
31 /**
32 * Class BackupServiceProvider
33 *
34 * Responsible for injecting classes which are to be used in FREE/BASIC version only
35 */
36 class BackupServiceProvider extends ServiceProvider
37 {
38 protected function registerClasses()
39 {
40 $this->container->when(JobBackup::class)
41 ->needs(JobDataDto::class)
42 ->give(JobBackupDataDto::class);
43
44 $this->container->when(JobRestore::class)
45 ->needs(JobDataDto::class)
46 ->give(JobRestoreDataDto::class);
47
48 $this->container->when(ZlibCompressor::class)
49 ->needs(CompressionInterface::class)
50 ->give(NonCompressionService::class);
51
52 $container = $this->container;
53
54 $this->container->when(JobBackupProvider::class)
55 ->needs(AbstractJob::class)
56 ->give(function () use (&$container) {
57 return $container->make(JobBackup::class);
58 });
59
60 $this->container->when(JobRestoreProvider::class)
61 ->needs(AbstractJob::class)
62 ->give(function () use (&$container) {
63 return $container->make(JobRestore::class);
64 });
65
66 $this->container->when(DDLExporterProvider::class)
67 ->needs(AbstractExporter::class)
68 ->give(function () use (&$container) {
69 return $container->make(DDLExporter::class);
70 });
71
72 $this->container->when(RowsExporterProvider::class)
73 ->needs(AbstractExporter::class)
74 ->give(function () use (&$container) {
75 return $container->make(RowsExporter::class);
76 });
77
78 foreach (MultipartInjection::MULTIPART_CLASSES as $classId) {
79 $this->container->when($classId)
80 ->needs(MultipartSplitInterface::class)
81 ->give(MultipartSplitter::class);
82 }
83
84 foreach (MultipartInjection::RESTORE_CLASSES as $classId) {
85 $this->container->when($classId)
86 ->needs(MultipartRestoreInterface::class)
87 ->give(MultipartRestorer::class);
88 }
89
90 $this->container->when(RestoreDatabaseTask::class)
91 ->needs(DatabaseSearchReplacerInterface::class)
92 ->give(BasicDatabaseSearchReplacer::class);
93 }
94 }
95