Skip to content

Hookable Actions And Filters is an Action and Filter library inspired by WordPress's Actions and Filters.

License

Notifications You must be signed in to change notification settings

HandmadeWeb/hookable-actions-filters

Repository files navigation

Latest Version on Packagist Total Downloads MIT Licensed Run Tests

Hookable Actions And Filters is an Action and Filter library inspired by WordPress's Actions and Filters. This package can be used in Laravel and supports auto discovery, alternatively the package can also be used in any PHP project.

Installation

You can install the package via composer:

composer require handmadeweb/hookable-actions-filters

Usage

Action Examples

use HandmadeWeb\ActionsAndFilters\Action;

// Eample function for test
function action_test($key){
    unset($_GET[$key]);
}

// Add a action callback to a function by name
Action::add('unset', 'action_test');
// Or

// Add a action callback to a closure function
Action::add('unset', function($key){
    action_test($key);
    // Or this closure function could just do unset($_GET[$key]);
});

// Execute the action, which in this example will unset $_GET['foobar']
Action::run('unset', 'foobar');

Filter Examples

use HandmadeWeb\ActionsAndFilters\Filter;

// Add a filter callback to a function by name
Filter::add('Test', 'ucfirst');

// Add a filter callback to a closure function
Filter::add('Test', function($value){
    return "{$value} {$value}";
});

// Will return Foobar Foobar
Filter::run('Test', 'foobar');

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email michael@rook.net.au instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Hookable Actions And Filters is an Action and Filter library inspired by WordPress's Actions and Filters.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages