for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php namespace Modules\Media\UrlResolvers;
use Illuminate\Contracts\Filesystem\Factory;
use League\Flysystem\Adapter\Ftp;
use League\Flysystem\Adapter\Local;
use League\Flysystem\AwsS3v3\AwsS3Adapter;
class BaseUrlResolver
{
/**
* @var array
*/
private $resolvers = [];
public function __construct()
$this->resolvers = [
Local::class => new LocalUrlResolver(),
AwsS3Adapter::class => new AwsS3UrlResolver(),
Ftp::class => new FtpUrlResolver(),
];
}
* Resolve the given path based on the set filesystem
* @param string $path
* @return string
public function resolve($path)
$factory = app(Factory::class);
$adapter = $factory->disk($this->getConfiguredFilesystem())->getDriver()->getAdapter();
return $this->resolvers[get_class($adapter)]->resolve($adapter, $path);
private function getConfiguredFilesystem()
return config('asgard.media.config.filesystem');