HumHub Documentation (unofficial)

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
throws
InvalidArgumentException

getClassName()

Return full class name for a named helper

public getClassName(string $name) : string|false
Parameters
$name : string
Return values
string|false

getIterator()

Defined by IteratorAggregate

public getIterator() : ArrayIterator

Returns an instance of ArrayIterator, containing a map of all plugins

Attributes
#[ReturnTypeWillChange]
Return values
ArrayIterator

getRegisteredPlugins()

Get a list of all registered plugins

public getRegisteredPlugins() : array<string|int, mixed>|Traversable
Return values
array<string|int, mixed>|Traversable

isLoaded()

Whether or not a plugin by a specific name has been registered

public isLoaded(string $name) : bool
Parameters
$name : string
Return values
bool

load()

Load a helper via the name provided

public load(string $name) : string|false
Parameters
$name : string
Return values
string|false

registerPlugins()

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
throws
InvalidArgumentException
Return values
PluginClassLoader

        
On this page

Search results