123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <?php
- namespace League\Flysystem;
- use BadMethodCallException;
- /**
- * @deprecated
- */
- abstract class Handler
- {
- /**
- * @var string
- */
- protected $path;
- /**
- * @var FilesystemInterface
- */
- protected $filesystem;
- /**
- * Constructor.
- *
- * @param FilesystemInterface $filesystem
- * @param string $path
- */
- public function __construct(FilesystemInterface $filesystem = null, $path = null)
- {
- $this->path = $path;
- $this->filesystem = $filesystem;
- }
- /**
- * Check whether the entree is a directory.
- *
- * @return bool
- */
- public function isDir()
- {
- return $this->getType() === 'dir';
- }
- /**
- * Check whether the entree is a file.
- *
- * @return bool
- */
- public function isFile()
- {
- return $this->getType() === 'file';
- }
- /**
- * Retrieve the entree type (file|dir).
- *
- * @return string file or dir
- */
- public function getType()
- {
- $metadata = $this->filesystem->getMetadata($this->path);
- return $metadata['type'];
- }
- /**
- * Set the Filesystem object.
- *
- * @param FilesystemInterface $filesystem
- *
- * @return $this
- */
- public function setFilesystem(FilesystemInterface $filesystem)
- {
- $this->filesystem = $filesystem;
- return $this;
- }
-
- /**
- * Retrieve the Filesystem object.
- *
- * @return FilesystemInterface
- */
- public function getFilesystem()
- {
- return $this->filesystem;
- }
- /**
- * Set the entree path.
- *
- * @param string $path
- *
- * @return $this
- */
- public function setPath($path)
- {
- $this->path = $path;
- return $this;
- }
- /**
- * Retrieve the entree path.
- *
- * @return string path
- */
- public function getPath()
- {
- return $this->path;
- }
- /**
- * Plugins pass-through.
- *
- * @param string $method
- * @param array $arguments
- *
- * @return mixed
- */
- public function __call($method, array $arguments)
- {
- array_unshift($arguments, $this->path);
- $callback = [$this->filesystem, $method];
- try {
- return call_user_func_array($callback, $arguments);
- } catch (BadMethodCallException $e) {
- throw new BadMethodCallException(
- 'Call to undefined method '
- . get_called_class()
- . '::' . $method
- );
- }
- }
- }
|