%PDF- %PDF-
Direktori : /var/www/pjc/vendor/graham-campbell/flysystem/src/ |
Current File : /var/www/pjc/vendor/graham-campbell/flysystem/src/FlysystemManager.php |
<?php declare(strict_types=1); /* * This file is part of Laravel Flysystem. * * (c) Graham Campbell <hello@gjcampbell.co.uk> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace GrahamCampbell\Flysystem; use GrahamCampbell\Manager\AbstractManager; use Illuminate\Contracts\Config\Repository; use Illuminate\Support\Arr; /** * This is the flysystem manager class. * * @method \League\Flysystem\FilesystemInterface connection(string|null $name = null) * @method \League\Flysystem\FilesystemInterface reconnect(string|null $name = null) * @method void disconnect(string|null $name = null) * @method array<string,\League\Flysystem\FilesystemInterface> getConnections() * @method bool has(string $path) * @method false|string read(string $path) * @method false|resource readStream(string $path) * @method array listContents(string $directory = '', bool $recursive = false) * @method false|array getMetadata(string $path) * @method false|int getSize(string $path) * @method false|string getMimetype(string $path) * @method false|int getTimestamp(string $path) * @method false|string getVisibility(string $path) * @method bool write(string $path, string $contents, array $config = []) * @method bool writeStream(string $path, resource $resource, array $config = []) * @method bool update(string $path, string $contents, array $config = []) * @method bool updateStream(string $path, resource $resource, array $config = []) * @method bool rename(string $path, string $newpath) * @method bool copy(string $path, string $newpath) * @method bool delete(string $path) * @method bool deleteDir(string $dirname) * @method bool createDir(string $dirname, array $config = []) * @method bool setVisibility(string $path, string $visibility) * @method bool put(string $path, string $contents, array $config = []) * @method bool putStream(string $path, resource $resource, array $config = []) * @method string readAndDelete(string $path) * @method \League\Flysystem\Handler get(string $path, \League\Flysystem\Handler $handler = null) * @method \League\Flysystem\FilesystemInterface addPlugin(\League\Flysystem\PluginInterface $plugin) * * @author Graham Campbell <hello@gjcampbell.co.uk> */ class FlysystemManager extends AbstractManager { /** * The factory instance. * * @var \GrahamCampbell\Flysystem\FlysystemFactory */ protected $factory; /** * Create a new flysystem manager instance. * * @param \Illuminate\Contracts\Config\Repository $config * @param \GrahamCampbell\Flysystem\FlysystemFactory $factory * * @return void */ public function __construct(Repository $config, FlysystemFactory $factory) { $this->config = $config; $this->factory = $factory; } /** * Create the connection instance. * * @param array $config * * @return \League\Flysystem\FilesystemInterface */ protected function createConnection(array $config) { return $this->factory->make($config, $this); } /** * Get the configuration name. * * @return string */ protected function getConfigName() { return 'flysystem'; } /** * Get the configuration for a connection. * * @param string|null $name * * @throws \InvalidArgumentException * * @return array */ public function getConnectionConfig(string $name = null) { $name = $name ?: $this->getDefaultConnection(); $config = $this->getNamedConfig('connections', 'Adapter', $name); if (is_string($cache = Arr::get($config, 'cache'))) { $config['cache'] = $this->getNamedConfig('cache', 'Cache', $cache); } return $config; } /** * Get the factory instance. * * @return \GrahamCampbell\Flysystem\FlysystemFactory */ public function getFactory() { return $this->factory; } }