StorageAttributes.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. declare(strict_types=1);
  3. namespace League\Flysystem;
  4. use ArrayAccess;
  5. use JsonSerializable;
  6. interface StorageAttributes extends JsonSerializable, ArrayAccess
  7. {
  8. public const ATTRIBUTE_PATH = 'path';
  9. public const ATTRIBUTE_TYPE = 'type';
  10. public const ATTRIBUTE_FILE_SIZE = 'file_size';
  11. public const ATTRIBUTE_VISIBILITY = 'visibility';
  12. public const ATTRIBUTE_LAST_MODIFIED = 'last_modified';
  13. public const ATTRIBUTE_MIME_TYPE = 'mime_type';
  14. public const ATTRIBUTE_EXTRA_METADATA = 'extra_metadata';
  15. public const TYPE_FILE = 'file';
  16. public const TYPE_DIRECTORY = 'dir';
  17. public function path(): string;
  18. public function type(): string;
  19. public function visibility(): ?string;
  20. public function lastModified(): ?int;
  21. public static function fromArray(array $attributes): StorageAttributes;
  22. public function isFile(): bool;
  23. public function isDir(): bool;
  24. public function withPath(string $path): StorageAttributes;
  25. public function extraMetadata(): array;
  26. }