attachmentsManagers)) { $this->attachmentsManagers[$kind] = new AttachmentsManager($kind, $this->dataDir, $this->disk); } return $this->attachmentsManagers[$kind]; } /** * Load all attachments files */ private function loadAttachments() { foreach ($this->attachmentsManagers as $manager) { $manager->load(); } } /** * Save all attachments files that needs to be */ private function saveAttachments() { foreach ($this->attachmentsManagers as $manager) { $manager->save(); } } /** * Return an instance of attachments manager for specified kind of files */ public function attachments(string $kind): AttachmentsManager { return $this->registerAttachmentsManager($kind); } }