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

declare(strict_types=1);

namespace 
LeagueFlysystem;

class 
DirectoryAttributes implements StorageAttributes
{
    use 
ProxyArrayAccessToProperties;
    private 
string $type StorageAttributes::TYPE_DIRECTORY;

    public function 
__construct(
        private 
string $path,
        private ?
string $visibility null,
        private ?
int $lastModified null,
        private array 
$extraMetadata = []
    ) {
        
$this->path trim($this->path'/');
    }

    public function 
path(): string
    
{
        return 
$this->path;
    }

    public function 
type(): string
    
{
        return 
$this->type;
    }

    public function 
visibility(): ?string
    
{
        return 
$this->visibility;
    }

    public function 
lastModified(): ?int
    
{
        return 
$this->lastModified;
    }

    public function 
extraMetadata(): array
    {
        return 
$this->extraMetadata;
    }

    public function 
isFile(): bool
    
{
        return 
false;
    }

    public function 
isDir(): bool
    
{
        return 
true;
    }

    public function 
withPath(string $path): self
    
{
        
$clone = clone $this;
        
$clone->path $path;

        return 
$clone;
    }

    public static function 
fromArray(array $attributes): self
    
{
        return new 
DirectoryAttributes(
            
$attributes[StorageAttributes::ATTRIBUTE_PATH],
            
$attributes[StorageAttributes::ATTRIBUTE_VISIBILITY] ?? null,
            
$attributes[StorageAttributes::ATTRIBUTE_LAST_MODIFIED] ?? null,
            
$attributes[StorageAttributes::ATTRIBUTE_EXTRA_METADATA] ?? []
        );
    }

    
/**
     * @inheritDoc
     */
    
public function jsonSerialize(): array
    {
        return [
            
StorageAttributes::ATTRIBUTE_TYPE => $this->type,
            
StorageAttributes::ATTRIBUTE_PATH => $this->path,
            
StorageAttributes::ATTRIBUTE_VISIBILITY => $this->visibility,
            
StorageAttributes::ATTRIBUTE_LAST_MODIFIED => $this->lastModified,
            
StorageAttributes::ATTRIBUTE_EXTRA_METADATA => $this->extraMetadata,
        ];
    }
}
Онлайн: 1
Реклама