Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 148 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
/*
4
 * This file is part of Psy Shell.
5
 *
200 lars 6
 * (c) 2012-2023 Justin Hileman
148 lars 7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
 
12
namespace Psy\VersionUpdater\Downloader;
13
 
14
use Psy\Exception\ErrorException;
15
use Psy\VersionUpdater\Downloader;
16
 
17
class Factory
18
{
19
    /**
20
     * @throws ErrorException If no downloaders can be used
21
     */
22
    public static function getDownloader(): Downloader
23
    {
24
        if (\extension_loaded('curl')) {
25
            return new CurlDownloader();
26
        } elseif (\ini_get('allow_url_fopen')) {
27
            return new FileDownloader();
28
        }
29
        throw new ErrorException('No downloader available.');
30
    }
31
}