https://github.com/manifestwebdesign/php-hooks
Hook / Event helper library for PHP
https://github.com/manifestwebdesign/php-hooks
Last synced: 11 months ago
JSON representation
Hook / Event helper library for PHP
- Host: GitHub
- URL: https://github.com/manifestwebdesign/php-hooks
- Owner: ManifestWebDesign
- Created: 2013-02-28T19:37:13.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2013-02-28T20:01:04.000Z (over 13 years ago)
- Last Synced: 2025-07-03T00:05:11.784Z (12 months ago)
- Language: PHP
- Size: 105 KB
- Stars: 8
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
PHP-Hooks
=========
Standalone Hook / Event helper library for PHP
Basic Usage:
------------
```php
Hook::add('my_hook', function($message){
echo $message;
});
Hook::call('my_hook', 'Hello world'); // echo 'Hello world'
```
Removing a Single Callback from a Hook:
---------------------------------------
Hook internally creates unique ids for callbacks, so they can be removed
```php
$callback = function($message){
echo $message;
};
Hook::add('my_hook', $callback);
Hook::call('my_hook', 'Hello world'); // echo 'Hello world'
Hook::remove('my_hook', $callback);
Hook::call('my_hook', 'Hello world'); // does nothing
```
Removing all Callbacks for a Hook:
----------------------------------
```php
Hook::add('my_hook', function($message){
echo $message;
});
Hook::remove('my_hook');
Hook::call('my_hook', 'Hello world'); // does nothing
```
Priority and Return False
----------------------------------
```php
Hook::add('my_hook', function($message){
echo $message;
}, 100); // priority of 100
Hook::add('my_hook', function(){
return false;
}, 99);
Hook::call('my_hook', 'Hello world'); // does nothing, because the callback that returned false was executed first
```
Get Array of Registered Callbacks for a Hook
--------------------------------------------
```php
Hook::add('my_hook', function($message){
echo $message;
}, 100); // priority of 100
Hook::add('my_hook', function(){
return false;
}, 99);
Hook::get('my_hook'); // returns numeric array with both callbacks, in the order that they would execute
```