HumHub Documentation (unofficial)

PluginClassLoader
in package
implements PluginClassLocator

Plugin class locator interface

Table of Contents

Interfaces

PluginClassLocator
Plugin class locator interface

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 = []

$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