HashFileIDHelper
class HashFileIDHelper implements FileIDHelper (View source)
Parsed Hash path URLs. Hash paths group a file and its variant under a directory based on a hash generated from the content of the original file.
Hash paths are used by the Protected asset adapter and was the default for the public adapter prior to SilverStripe 4.4.
e.g.: Uploads/a1312bc34d/sam__ResizedImageWzYwLDgwXQ.jpg
Traits
A class that can be instantiated or replaced via DI
Constants
HASH_TRUNCATE_LENGTH |
Default length at which hashes are truncated. |
Methods
An implementation of the factory method, allows you to create an instance of a class
Creates a class instance by the "singleton" design pattern.
Map file tuple (hash, name, variant) to a filename to be used by flysystem
Clean up filename to remove constructs that might clash with the underlying path format of this FileIDHelper.
Get Filename, Variant and Hash from a fileID. If a FileID can not be parsed, returns null
.
Determine if the provided fileID is a variant of $parsedFileID
.
Compute the relative path where variants of the provided parsed file ID are expected to be stored.
Specify if this File ID Helper stores variants in subfolders and require a recursive look up to find all variants.
Details
static Injectable
create(mixed ...$args)
An implementation of the factory method, allows you to create an instance of a class
This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.
This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();
static Injectable
singleton(string $class = null)
Creates a class instance by the "singleton" design pattern.
It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).
string
buildFileID(string|ParsedFileID $filename, string $hash = null, string $variant = null, bool $cleanfilename = true)
Map file tuple (hash, name, variant) to a filename to be used by flysystem
string
cleanFilename(string $filename)
Clean up filename to remove constructs that might clash with the underlying path format of this FileIDHelper.
ParsedFileID|null
parseFileID(string $fileID)
Get Filename, Variant and Hash from a fileID. If a FileID can not be parsed, returns null
.
bool
isVariantOf(string $fileID, ParsedFileID $original)
Determine if the provided fileID is a variant of $parsedFileID
.
string
lookForVariantIn(ParsedFileID $parsedFileID)
Compute the relative path where variants of the provided parsed file ID are expected to be stored.
bool
lookForVariantRecursive()
Specify if this File ID Helper stores variants in subfolders and require a recursive look up to find all variants.