HumHub Documentation (unofficial)

MenuEntry extends BaseObject
in package

AbstractYes

Class MenuEntry

An abstract menu entry class. Subclasses need to extend the [[render()]] function.

Tags
since
1.4
see
Menu

Table of Contents

Properties

$htmlOptions  : array<string|int, mixed>
$id  : string
$isActive  : bool
$isVisible  : bool|null
$sortOrder  : int

Methods

__call()  : mixed
Calls the named method which is not a class method.
__construct()  : mixed
Constructor.
__get()  : mixed
Returns the value of an object property.
__isset()  : bool
Checks if a property is set, i.e. defined and not null.
__set()  : mixed
Sets value of an object property.
__unset()  : mixed
Sets an object property to null.
canGetProperty()  : bool
Returns a value indicating whether a property can be read.
canSetProperty()  : bool
Returns a value indicating whether a property can be set.
className()  : string
Returns the fully qualified name of this class.
compare()  : bool
Compares this entry with the given entry
getEntryClass()  : string
getHtmlOptions()  : array<string|int, mixed>
Returns the Html options for the menu entry link tag.
getId()  : string
getIsActive()  : bool
getSortOrder()  : int
hasMethod()  : bool
Returns a value indicating whether a method is defined.
hasProperty()  : bool
Returns a value indicating whether a property is defined.
init()  : mixed
Initializes the object.
isActiveState()  : mixed
isVisibilitySet()  : bool
Checks whether the visibility of the menu entry was explicitly set.
isVisible()  : bool
render()  : string
Public accessible render function responsible for rendering this entry.
setHtmlOptions()  : static
setId()  : static
setIsActive()  : static
setIsActiveState()  : static
Activates this MenuEntry in case the given moduleId, controllerId and actionId matches the current request.
setIsVisible()  : static
setSortOrder()  : static
renderEntry()  : string
Renders the entry html, this template function should respect [[htmlOptions]] array by calling [[getHtmlOptions()]] and passing the $extraHtmlOptions array as for example:

Properties

$htmlOptions

protected array<string|int, mixed> $htmlOptions = []

additional html options for the link HTML tag

$id

protected string $id

menu entry identifier (optional)

$isActive

protected bool $isActive = false

mark this entry as active

$isVisible

protected bool|null $isVisible = null

$sortOrder

protected int $sortOrder

the sort order. a value between 0 and 10000

Methods

__call()

Calls the named method which is not a class method.

public __call(string $name, array<string|int, mixed> $params) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when an unknown method is being invoked.

Parameters
$name : string

the method name

$params : array<string|int, mixed>

method parameters

Tags
throws
UnknownMethodException

when calling unknown method

Return values
mixed

the method return value

__construct()

Constructor.

public __construct([array<string|int, mixed> $config = [] ]) : mixed

The default implementation does two things:

  • Initializes the object with the given configuration $config.
  • Call [[init()]].

If this method is overridden in a child class, it is recommended that

  • the last parameter of the constructor is a configuration array, like $config here.
  • call the parent implementation at the end of the constructor.
Parameters
$config : array<string|int, mixed> = []

name-value pairs that will be used to initialize the object properties

__get()

Returns the value of an object property.

public __get(string $name) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $value = $object->property;.

Parameters
$name : string

the property name

Tags
throws
UnknownPropertyException

if the property is not defined

throws
InvalidCallException

if the property is write-only

see
__set()
Return values
mixed

the property value

__isset()

Checks if a property is set, i.e. defined and not null.

public __isset(string $name) : bool

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing isset($object->property).

Note that if the property is not defined, false will be returned.

Parameters
$name : string

the property name or the event name

Tags
see
https://www.php.net/manual/en/function.isset.php
Return values
bool

whether the named property is set (not null).

__set()

Sets value of an object property.

public __set(string $name, mixed $value) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing $object->property = $value;.

Parameters
$name : string

the property name or the event name

$value : mixed

the property value

Tags
throws
UnknownPropertyException

if the property is not defined

throws
InvalidCallException

if the property is read-only

see
__get()

__unset()

Sets an object property to null.

public __unset(string $name) : mixed

Do not call this method directly as it is a PHP magic method that will be implicitly called when executing unset($object->property).

Note that if the property is not defined, this method will do nothing. If the property is read-only, it will throw an exception.

Parameters
$name : string

the property name

Tags
throws
InvalidCallException

if the property is read only.

see
https://www.php.net/manual/en/function.unset.php

canGetProperty()

Returns a value indicating whether a property can be read.

public canGetProperty(string $name[, bool $checkVars = true ]) : bool

A property is readable if:

  • the class has a getter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canSetProperty()
Return values
bool

whether the property can be read

canSetProperty()

Returns a value indicating whether a property can be set.

public canSetProperty(string $name[, bool $checkVars = true ]) : bool

A property is writable if:

  • the class has a setter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canGetProperty()
Return values
bool

whether the property can be written

className()

Returns the fully qualified name of this class.

public static className() : string
Tags
deprecated

since 2.0.14. On PHP >=5.5, use ::class instead.

Return values
string

the fully qualified name of this class.

compare()

Compares this entry with the given entry

public compare(MenuEntry $entry) : bool
Parameters
$entry : MenuEntry
Return values
bool

getEntryClass()

public getEntryClass() : string
Tags
since
1.7
Return values
string

the class name of this entry can be used to identify the entry if no id is given

getHtmlOptions()

Returns the Html options for the menu entry link tag.

public getHtmlOptions([mixed $extraOptions = [] ]) : array<string|int, mixed>
Parameters
$extraOptions : mixed = []
Return values
array<string|int, mixed>

getId()

public getId() : string
Return values
string

the id

getIsActive()

public getIsActive() : bool
Return values
bool

is active

getSortOrder()

public getSortOrder() : int
Return values
int

hasMethod()

Returns a value indicating whether a method is defined.

public hasMethod(string $name) : bool

The default implementation is a call to php function method_exists(). You may override this method when you implemented the php magic method __call().

Parameters
$name : string

the method name

Return values
bool

whether the method is defined

hasProperty()

Returns a value indicating whether a property is defined.

public hasProperty(string $name[, bool $checkVars = true ]) : bool

A property is defined if:

  • the class has a getter or setter method associated with the specified name (in this case, property name is case-insensitive);
  • the class has a member variable with the specified name (when $checkVars is true);
Parameters
$name : string

the property name

$checkVars : bool = true

whether to treat member variables as properties

Tags
see
canGetProperty()
see
canSetProperty()
Return values
bool

whether the property is defined

init()

Initializes the object.

public init() : mixed

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

isActiveState()

public static isActiveState([mixed $moduleId = null ][, mixed $controllerIds = [] ][, mixed $actionIds = [] ]) : mixed
Parameters
$moduleId : mixed = null
$controllerIds : mixed = []
$actionIds : mixed = []

isVisibilitySet()

Checks whether the visibility of the menu entry was explicitly set.

public isVisibilitySet() : bool
Tags
since
1.8
Return values
bool

isVisible()

public isVisible() : bool
Return values
bool

render()

Public accessible render function responsible for rendering this entry.

public render([array<string|int, mixed> $extraHtmlOptions = [] ]) : string
Parameters
$extraHtmlOptions : array<string|int, mixed> = []
Return values
string

setHtmlOptions()

public setHtmlOptions(array<string|int, mixed> $htmlOptions) : static
Parameters
$htmlOptions : array<string|int, mixed>
Return values
static

setId()

public setId(mixed $id) : static
Parameters
$id : mixed

string the id

Return values
static

setIsActive()

public setIsActive(mixed $state) : static
Parameters
$state : mixed

bool

Return values
static

setIsActiveState()

Activates this MenuEntry in case the given moduleId, controllerId and actionId matches the current request.

public setIsActiveState(string $moduleId[, array<string|int, mixed>|string $controllerIds = [] ][, array<string|int, mixed>|string $actionIds = [] ]) : static
Parameters
$moduleId : string

controller module id

$controllerIds : array<string|int, mixed>|string = []

controller id

$actionIds : array<string|int, mixed>|string = []

action id

Return values
static

setIsVisible()

public setIsVisible(bool $isVisible) : static
Parameters
$isVisible : bool
Return values
static

setSortOrder()

public setSortOrder(int $sortOrder) : static
Parameters
$sortOrder : int
Return values
static

renderEntry()

Renders the entry html, this template function should respect [[htmlOptions]] array by calling [[getHtmlOptions()]] and passing the $extraHtmlOptions array as for example:

protected abstract renderEntry([array<string|int, mixed> $extraHtmlOptions = [] ]) : string

return Html::a($label, $url, $this->getHtmlOptions($extraHtmlOptions));

Parameters
$extraHtmlOptions : array<string|int, mixed> = []
Return values
string

the Html link


        
On this page

Search results