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

Details

> 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 );

Methods

* 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="https://paypal.me/kigkonsult?locale.x=en_US" rel="nofollow">paypal.me/kigkonsult</a> are appreciated. 
For invoice, <a href="mailto:ical@kigkonsult.se">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 [github.com HookMgr]


###### License

This project is licensed under the LGPLv3 License


[Composer]:https://getcomposer.org/
[github.com HookMgr]:https://github.com/iCalcreator/HookMgr
  Files  
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
README.md 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  
 100%
Total:68
This week:1
All time:9,682
This week:255

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