1 | <?php |
||
16 | class BackupJob |
||
17 | { |
||
18 | /** @var \Spatie\Backup\Tasks\Backup\FileSelection */ |
||
19 | protected $fileSelection; |
||
20 | |||
21 | /** @var \Illuminate\Support\Collection */ |
||
22 | protected $dbDumpers; |
||
23 | |||
24 | /** @var \Illuminate\Support\Collection */ |
||
25 | protected $backupDestinations; |
||
26 | |||
27 | /** @var \Spatie\Backup\Tasks\Backup\TemporaryDirectory */ |
||
28 | protected $temporaryDirectory; |
||
29 | |||
30 | public function __construct() |
||
31 | { |
||
32 | $this->doNotBackupFilesystem(); |
||
33 | $this->doNotBackupDatabases(); |
||
34 | |||
35 | $this->backupDestinations = new Collection(); |
||
36 | } |
||
37 | |||
38 | /** |
||
39 | * @return \Spatie\Backup\Tasks\Backup\BackupJob |
||
40 | */ |
||
41 | public function doNotBackupFilesystem() |
||
42 | { |
||
43 | $this->fileSelection = FileSelectionFactory::noFiles(); |
||
44 | |||
45 | return $this; |
||
46 | } |
||
47 | |||
48 | /** |
||
49 | * @return \Spatie\Backup\Tasks\Backup\BackupJob |
||
50 | */ |
||
51 | public function doNotBackupDatabases() |
||
52 | { |
||
53 | $this->dbDumpers = new Collection(); |
||
54 | |||
55 | return $this; |
||
56 | } |
||
57 | |||
58 | /** |
||
59 | * @param \Spatie\Backup\Tasks\Backup\FileSelection $fileSelection |
||
60 | * |
||
61 | * @return \Spatie\Backup\Tasks\Backup\BackupJob |
||
62 | */ |
||
63 | public function setFileSelection(FileSelection $fileSelection) |
||
64 | { |
||
65 | $this->fileSelection = $fileSelection; |
||
66 | |||
67 | return $this; |
||
68 | } |
||
69 | |||
70 | /** |
||
71 | * @param array $dbDumpers |
||
72 | * |
||
73 | * @return \Spatie\Backup\Tasks\Backup\BackupJob |
||
74 | */ |
||
75 | public function setDbDumpers(array $dbDumpers) |
||
81 | |||
82 | /** |
||
83 | * @param string $diskName |
||
84 | * |
||
85 | * @return \Spatie\Backup\Tasks\Backup\BackupJob |
||
86 | * |
||
87 | * @throws \Spatie\Backup\Exceptions\InvalidBackupJob |
||
88 | */ |
||
89 | public function backupOnlyTo($diskName) |
||
101 | |||
102 | /** |
||
103 | * @param \Illuminate\Support\Collection $backupDestinations |
||
104 | * |
||
105 | * @return \Spatie\Backup\Tasks\Backup\BackupJob |
||
106 | */ |
||
107 | public function setBackupDestinations(Collection $backupDestinations) |
||
108 | { |
||
109 | $this->backupDestinations = $backupDestinations; |
||
110 | |||
111 | return $this; |
||
112 | } |
||
113 | |||
114 | public function run() |
||
134 | |||
135 | /** |
||
136 | * @return \Spatie\Backup\Tasks\Backup\Zip |
||
137 | */ |
||
138 | protected function createZipContainingAllFilesToBeBackedUp() |
||
150 | |||
151 | /** |
||
152 | * @param \Spatie\Backup\Tasks\Backup\Zip $zip |
||
153 | */ |
||
154 | protected function addSelectedFilesToZip(Zip $zip) |
||
155 | { |
||
162 | |||
163 | /** |
||
164 | * @param \Spatie\Backup\Tasks\Backup\Zip $zip |
||
165 | */ |
||
166 | protected function addDatabaseDumpsToZip(Zip $zip) |
||
179 | |||
180 | /** |
||
181 | * @param \Spatie\Backup\Tasks\Backup\Zip $zip |
||
182 | */ |
||
183 | protected function copyToBackupDestinations(Zip $zip) |
||
206 | } |
||
207 |
If you implement
__call
and you know which methods are available, you can improve IDE auto-completion and static analysis by adding a @method annotation to the class.This is often the case, when
__call
is implemented by a parent class and only the child class knows which methods exist: