encoder = $encoder; $this->fs = $fs; $this->symlinkDir = rtrim($symlinkDir, '/'); } public function getSymlinkDir() { return $this->symlinkDir; } public function symlink($pathFile) { $this->fs->symlink($pathFile, $this->getSymlinkPath($pathFile)) ; } public function unlink($pathFile) { $this->fs->remove($this->getSymlinkPath($pathFile)); } public function getSymlink($pathFile) { return $this->encoder->encode($pathFile); } public function getSymlinkBasePath($pathFile) { $symlinkName = $this->getSymlink($pathFile); return sprintf('%s/%s/%s.jpg', substr($symlinkName, 0, 2), substr($symlinkName, 2, 2), substr($symlinkName, 4) ); } public function getSymlinkPath($pathFile) { return sprintf( '%s/%s', $this->symlinkDir, $this->getSymlinkBasePath($pathFile) ); } public function hasSymlink($pathFile) { return file_exists($this->getSymlinkPath($pathFile)); } }