Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace League\Flysystem\UrlGeneration;
6
 
7
use League\Flysystem\Config;
8
use League\Flysystem\UnableToGeneratePublicUrl;
9
 
10
final class ChainedPublicUrlGenerator implements PublicUrlGenerator
11
{
12
    /**
13
     * @param PublicUrlGenerator[] $generators
14
     */
15
    public function __construct(private iterable $generators)
16
    {
17
    }
18
 
19
    public function publicUrl(string $path, Config $config): string
20
    {
21
        foreach ($this->generators as $generator) {
22
            try {
23
                return $generator->publicUrl($path, $config);
24
            } catch (UnableToGeneratePublicUrl) {
25
            }
26
        }
27
 
28
        throw new UnableToGeneratePublicUrl('No supported public url generator found.', $path);
29
    }
30
}