Download> 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:[email protected]">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
  |