PHP Hook System Manager: Register and invoke hook callback functions

Recommend this page to a friend!
  Info   Documentation   View files (7)   Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2020-06-16 (1 month ago) Not yet rated by the usersTotal: 68 This week: 1All time: 9,682 This week: 255
Version License PHP version Categories
hookmgr 1.0GNU Lesser Genera...5PHP 5, Language
Description Author

This class can register and invoke hook callback functions.

It can create a hook with a given name and register one or more actions to be executed by specifying functions to be called.

The class can also invoke all registered callback functions associated to a hook specified with a given name.

Picture of Kjell-Inge Gustafsson
  Performance   Level  
Name: Kjell-Inge Gustafsson <contact>
Classes: 13 packages by
Country: Sweden Sweden
Age: ???
All time rank: 5333 in Sweden Sweden
Week rank: 37 1 in Sweden Sweden
Innovation award
Innovation award
Nominee: 4x


> Class HookMgr manages PHP hooks > A hook is a (HookMgr) key for invoking callable(s)

A callable can be * simple function * anonymous function * instantiated object+method : \[ $object, 'methodName' ] * class name and static method : \[ 'namespaceClassName', 'methodName' ] * instantiated object, class with (magic) __call method : \[ $object, 'someMethod' ] * class name, class with (magic) __callStatic method : \[ 'namespaceClassName', 'someMethod' ] * instantiated object, class with (magic) __invoke method : $object

Define a hook with callable

HookMgr::addAction( $hook, $callable );

Invoke callable using hook

$result = HookMgr::apply( $hook );


* Add single hook with single callable, _syntax_only_ callable check
* ```hook``` _string_  
* ```callable``` _callable_
* Throws InvalidArgumentException
* static

  • Add single hook invoking an array of callables
  • Note, if invoked with arguments, arguments are used for all callables
  • Throws InvalidArgumentException
  • static
* Set all hooks, each for invoking single or array of callables
`actions` _array_( hook => callable(s) )
* Throws InvalidArgumentException
* static


  • Invoke 'hook' action(s), return (last) result
  • * Opt arguments are used in all hook invokes * To use an argument by-reference, use ```HookMgr::apply( 'hook', [ & $arg ] );```
  • Return _mixed_
  • Throws RuntimeException
  • static

* Return 
  * count of hooks
  * count of callables for hook
  * not found hook return 0
* ```hook``` _string_  
* Return bool
* static

  • Return bool, true if hook is set
  • static
* Return array callables for hook, not found return []
* ```hook``` _string_  
* Return _callable\[]_
* static

  • Return _array_ (string[]) hooks
  • static
* Clear (remove) all hooks with callables
* static

  • Remove single hook with callable(s)
  • static

* Return _string_ nice rendered hooks with callable(s)
* static

###### Sponsorship

Donation using <a href="" rel="nofollow"></a> are appreciated. 
For invoice, <a href="">please e-mail</a>.

###### INSTALL

composer require kigkonsult/hookmgr:dev-master

Composer, in your `composer.json`:


"require": {
    "kigkonsult/hookmgr": "dev-master"


Composer, acquire access

use Kigkonsult\HookMgr\HookMgr; ... include 'vendor/autoload.php';

Otherwise , download and acquire..

use Kigkonsult\HookMgr\HookMgr; ... include 'pathToSource/kigkonsult/HookMgr/autoload.php';

###### Support

For support go to [ HookMgr]

###### License

This project is licensed under the LGPLv3 License

[ HookMgr]:
File Role Description
src (1 file)
test (1 file)
autoload.php Aux. Auxiliary script
composer.json Data Auxiliary data
LICENCE Lic. License text
phpunit.xml Data Auxiliary data Doc. Documentation

  Files  /  src  
File Role Description
   HookMgr.php Class Class source

  Files  /  test  
File Role Description
   HookMgrTest.php Class Class source

 Version Control Unique User Downloads Download Rankings  
This week:1
All time:9,682
This week:255

For more information send a message to info at phpclasses dot org.