HeaderLoader
extends PluginClassLoader
in package
Plugin Class Loader implementation for HTTP headers
Table of Contents
Properties
- $plugins : array<string|int, mixed>
- List of plugin name => class name pairs
- $staticMap : array<string|int, mixed>
- Static map allow global seeding of plugin loader
Methods
- __construct() : mixed
- Constructor
- addStaticMap() : void
- Add a static map of plugins
- getClassName() : string|false
- Return full class name for a named helper
- getIterator() : ArrayIterator
- Defined by IteratorAggregate
- getRegisteredPlugins() : array<string|int, mixed>|Traversable
- Get a list of all registered plugins
- isLoaded() : bool
- Whether or not a plugin by a specific name has been registered
- load() : string|false
- Load a helper via the name provided
- registerPlugin() : PluginClassLoader
- Register a class to a given short name
- registerPlugins() : PluginClassLoader
- Register many plugins at once
- unregisterPlugin() : PluginClassLoader
- Unregister a short name lookup
Properties
$plugins
List of plugin name => class name pairs
protected
array<string|int, mixed>
$plugins
= ['accept' => \Laminas\Http\Header\Accept::class, 'acceptcharset' => \Laminas\Http\Header\AcceptCharset::class, 'acceptencoding' => \Laminas\Http\Header\AcceptEncoding::class, 'acceptlanguage' => \Laminas\Http\Header\AcceptLanguage::class, 'acceptranges' => \Laminas\Http\Header\AcceptRanges::class, 'age' => \Laminas\Http\Header\Age::class, 'allow' => \Laminas\Http\Header\Allow::class, 'authenticationinfo' => \Laminas\Http\Header\AuthenticationInfo::class, 'authorization' => \Laminas\Http\Header\Authorization::class, 'cachecontrol' => \Laminas\Http\Header\CacheControl::class, 'connection' => \Laminas\Http\Header\Connection::class, 'contentdisposition' => \Laminas\Http\Header\ContentDisposition::class, 'contentencoding' => \Laminas\Http\Header\ContentEncoding::class, 'contentlanguage' => \Laminas\Http\Header\ContentLanguage::class, 'contentlength' => \Laminas\Http\Header\ContentLength::class, 'contentlocation' => \Laminas\Http\Header\ContentLocation::class, 'contentmd5' => \Laminas\Http\Header\ContentMD5::class, 'contentrange' => \Laminas\Http\Header\ContentRange::class, 'contentsecuritypolicy' => \Laminas\Http\Header\ContentSecurityPolicy::class, 'contenttransferencoding' => \Laminas\Http\Header\ContentTransferEncoding::class, 'contenttype' => \Laminas\Http\Header\ContentType::class, 'cookie' => \Laminas\Http\Header\Cookie::class, 'date' => \Laminas\Http\Header\Date::class, 'etag' => \Laminas\Http\Header\Etag::class, 'expect' => \Laminas\Http\Header\Expect::class, 'expires' => \Laminas\Http\Header\Expires::class, 'featurepolicy' => \Laminas\Http\Header\FeaturePolicy::class, 'from' => \Laminas\Http\Header\From::class, 'host' => \Laminas\Http\Header\Host::class, 'ifmatch' => \Laminas\Http\Header\IfMatch::class, 'ifmodifiedsince' => \Laminas\Http\Header\IfModifiedSince::class, 'ifnonematch' => \Laminas\Http\Header\IfNoneMatch::class, 'ifrange' => \Laminas\Http\Header\IfRange::class, 'ifunmodifiedsince' => \Laminas\Http\Header\IfUnmodifiedSince::class, 'keepalive' => \Laminas\Http\Header\KeepAlive::class, 'lastmodified' => \Laminas\Http\Header\LastModified::class, 'location' => \Laminas\Http\Header\Location::class, 'maxforwards' => \Laminas\Http\Header\MaxForwards::class, 'origin' => \Laminas\Http\Header\Origin::class, 'pragma' => \Laminas\Http\Header\Pragma::class, 'proxyauthenticate' => \Laminas\Http\Header\ProxyAuthenticate::class, 'proxyauthorization' => \Laminas\Http\Header\ProxyAuthorization::class, 'range' => \Laminas\Http\Header\Range::class, 'referer' => \Laminas\Http\Header\Referer::class, 'refresh' => \Laminas\Http\Header\Refresh::class, 'retryafter' => \Laminas\Http\Header\RetryAfter::class, 'server' => \Laminas\Http\Header\Server::class, 'setcookie' => \Laminas\Http\Header\SetCookie::class, 'te' => \Laminas\Http\Header\TE::class, 'trailer' => \Laminas\Http\Header\Trailer::class, 'transferencoding' => \Laminas\Http\Header\TransferEncoding::class, 'upgrade' => \Laminas\Http\Header\Upgrade::class, 'useragent' => \Laminas\Http\Header\UserAgent::class, 'vary' => \Laminas\Http\Header\Vary::class, 'via' => \Laminas\Http\Header\Via::class, 'warning' => \Laminas\Http\Header\Warning::class, 'wwwauthenticate' => \Laminas\Http\Header\WWWAuthenticate::class]
Pre-aliased Header plugins
$staticMap
Static map allow global seeding of plugin loader
protected
static array<string|int, mixed>
$staticMap
= []
Methods
__construct()
Constructor
public
__construct([null|array<string|int, mixed>|Traversable $map = null ]) : mixed
Parameters
- $map : null|array<string|int, mixed>|Traversable = null
-
If provided, seeds the loader with a map
addStaticMap()
Add a static map of plugins
public
static addStaticMap(null|array<string|int, mixed>|Traversable $map) : void
A null value will clear the static map.
Parameters
- $map : null|array<string|int, mixed>|Traversable
Tags
getClassName()
Return full class name for a named helper
public
getClassName(string $name) : string|false
Parameters
- $name : string
Return values
string|falsegetIterator()
Defined by IteratorAggregate
public
getIterator() : ArrayIterator
Returns an instance of ArrayIterator, containing a map of all plugins
Attributes
Return values
ArrayIteratorgetRegisteredPlugins()
Get a list of all registered plugins
public
getRegisteredPlugins() : array<string|int, mixed>|Traversable
Return values
array<string|int, mixed>|TraversableisLoaded()
Whether or not a plugin by a specific name has been registered
public
isLoaded(string $name) : bool
Parameters
- $name : string
Return values
boolload()
Load a helper via the name provided
public
load(string $name) : string|false
Parameters
- $name : string
Return values
string|falseregisterPlugin()
Register a class to a given short name
public
registerPlugin(string $shortName, string $className) : PluginClassLoader
Parameters
- $shortName : string
- $className : string
Return values
PluginClassLoaderregisterPlugins()
Register many plugins at once
public
registerPlugins(string|array<string|int, mixed>|Traversable $map) : PluginClassLoader
If $map is a string, assumes that the map is the class name of a Traversable object (likely a ShortNameLocator); it will then instantiate this class and use it to register plugins.
If $map is an array or Traversable object, it will iterate it to register plugin names/classes.
For all other arguments, or if the string $map is not a class or not a Traversable class, an exception will be raised.
Parameters
- $map : string|array<string|int, mixed>|Traversable
Tags
Return values
PluginClassLoaderunregisterPlugin()
Unregister a short name lookup
public
unregisterPlugin(mixed $shortName) : PluginClassLoader
Parameters
- $shortName : mixed