ModuleResourceLoader
class ModuleResourceLoader implements TemplateGlobalProvider (View source)
Helper for mapping module resources to paths / urls
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.
Convert a file of the form "vendor/package:resource" into a BASE_PATH-relative file For other files, return original value
Called by SSViewer to get a list of global variables to expose to the template, the static method to call on this class to get the value for those variables, and the class to use for casting the returned value for use in a template
Return module resource for the given path, if specified as one.
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
resolvePath(string $resource)
Convert a file of the form "vendor/package:resource" into a BASE_PATH-relative file For other files, return original value
string
resolveURL(string $resource)
Resolves resource specifier to the given url.
static string
resourcePath(string $resource)
Template wrapper for resolvePath
static string
resourceURL(string $resource)
Template wrapper for resolveURL
static array
get_template_global_variables()
Called by SSViewer to get a list of global variables to expose to the template, the static method to call on this class to get the value for those variables, and the class to use for casting the returned value for use in a template
If the method to call is not included for a particular template variable, a method named the same as the template variable will be called
If the casting class is not specified for a particular template variable, ViewableData::$default_cast is used
The first letter of the template variable is case-insensitive. However the method name is always case sensitive.
ModuleResource|string
resolveResource(string $resource)
Return module resource for the given path, if specified as one.
Returns the original resource otherwise.