/** * Create a new default sync instance. * * @param InputContract $inputHandler * @param OutputContract $outputHandler * @param SyncOutputContract $outputHelper * @param SyncSettingsContract $settings * * @return SyncContract */ public static function createSync(InputContract $inputHandler, OutputContract $outputHandler, SyncSettingsContract $settings = null, SyncOutputContract &$outputHelper = null) { if (is_null($outputHelper)) { $outputHelper = new SyncNullOutput(); } if (!$settings) { $settings = new SyncSettings(); } $inputHandler->applySettings($settings); $outputHandler->applySettings($settings); return new Sync(new SyncManager($inputHandler, $outputHandler, $settings), new SyncWorker($inputHandler, $outputHandler, $settings), $outputHelper, $settings); }
/** * Get a list of all files that exist on the output side but not on the input side. * * @return array */ public function getFilesToDelete() { $filesToDelete = []; foreach ($this->outputFiles as $file) { if (!$this->input->has($file['path']) && !$this->exclude($file['path'], $this->settings->excludeOutput())) { $filesToDelete[] = $file; } } return $filesToDelete; }
/** * Read file. * * @param string $path * * @return \Exception|string */ protected function read($path) { return $this->catchErrors($this->settings->ignoreInput(), function () use($path) { return $this->input->read($path); }); }