Вход Регистрация
Файл: vendor/league/flysystem/src/PathPrefixer.php
Строк: 39
<?php

declare(strict_types=1);

namespace 
LeagueFlysystem;

use function 
rtrim;
use function 
strlen;
use function 
substr;

final class 
PathPrefixer
{
    private 
string $prefix = '';

    public function 
__construct(string $prefix, private string $separator = '/')
    {
        
$this->prefix = rtrim($prefix, '\/');

        if (
$this->prefix !== '' || $prefix === $separator) {
            
$this->prefix .= $separator;
        }
    }

    public function 
prefixPath(string $path): string
    
{
        return 
$this->prefix . ltrim($path, '\/');
    }

    public function 
stripPrefix(string $path): string
    
{
        
/* @var string */
        
return substr($path, strlen($this->prefix));
    }

    public function 
stripDirectoryPrefix(string $path): string
    
{
        return 
rtrim($this->stripPrefix($path), '\/');
    }

    public function 
prefixDirectoryPath(string $path): string
    
{
        
$prefixedPath = $this->prefixPath(rtrim($path, '\/'));

        if (
$prefixedPath === '' || substr($prefixedPath, -1) === $this->separator) {
            return 
$prefixedPath;
        }

        return 
$prefixedPath . $this->separator;
    }
}
Онлайн: 2
Реклама