NaturalFileIDHelper
class NaturalFileIDHelper implements FileIDHelper (View source)
Parsed Natural path URLs. Natural path is the same hashless path that appears in the CMS.
Natural paths are used by the public adapter from SilverStripe 4.4 and on the protected adapter when
legacy_filenames
is enabled.
e.g.: Uploads/sam__ResizedImageWzYwLDgwXQ.jpg
Traits
A class that can be instantiated or replaced via DI
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.