PHPackages                             nabeghe/file-hooker - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nabeghe/file-hooker

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nabeghe/file-hooker
===================

Hooking system based on files.

v1.1.0(1y ago)313MITPHPPHP &gt;=7.4

Since Feb 15Pushed 1y ago1 watchersCompare

[ Source](https://github.com/nabeghe/php-file-hooker)[ Packagist](https://packagist.org/packages/nabeghe/file-hooker)[ Docs](https://github.com/nabeghe/php-file-hooker)[ RSS](/packages/nabeghe-file-hooker/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

File Hooker for PHP
===================

[](#file-hooker-for-php)

 [![](https://private-user-images.githubusercontent.com/12207627/452811831-bb4bee9b-66c5-4109-ad9c-723c1afe6ddb.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODIxNDUxOTEsIm5iZiI6MTc4MjE0NDg5MSwicGF0aCI6Ii8xMjIwNzYyNy80NTI4MTE4MzEtYmI0YmVlOWItNjZjNS00MTA5LWFkOWMtNzIzYzFhZmU2ZGRiLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA2MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNjIyVDE2MTQ1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJkYmZlMzZmMTA4Yjk2NjQyMDhmMThhY2ExMDQxNWVlOGE4NDdjMzc1NDM1YjUzMGFmM2MzNDNiODc2YTYxOTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmpwZWcifQ.1B6iwJwtipJOxJVVINiI0UMNfxtFWssziKis5lS1RKE)](https://private-user-images.githubusercontent.com/12207627/452811831-bb4bee9b-66c5-4109-ad9c-723c1afe6ddb.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODIxNDUxOTEsIm5iZiI6MTc4MjE0NDg5MSwicGF0aCI6Ii8xMjIwNzYyNy80NTI4MTE4MzEtYmI0YmVlOWItNjZjNS00MTA5LWFkOWMtNzIzYzFhZmU2ZGRiLmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjA2MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwNjIyVDE2MTQ1MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJkYmZlMzZmMTA4Yjk2NjQyMDhmMThhY2ExMDQxNWVlOGE4NDdjMzc1NDM1YjUzMGFmM2MzNDNiODc2YTYxOTImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JnJlc3BvbnNlLWNvbnRlbnQtdHlwZT1pbWFnZSUyRmpwZWcifQ.1B6iwJwtipJOxJVVINiI0UMNfxtFWssziKis5lS1RKE)

> A simple Hooking System based on files. This means that each callback is located in a PHP file.

🫡 Usage
-------

[](#-usage)

### 🚀 Installation

[](#-installation)

You can install the package via composer:

```
composer require nabeghe/file-hooker
```

### 📁 Hooks Directory

[](#-hooks-directory)

Create a directory for your hooks.

The name of each php file in this directory without suffix (.php) will be the name of your hook. Subdirectories are also allowed.

Each file returns a callback. This callback receives two arguments, data and angler. Data is the items sent to the callback. In filters, it must be an array, but in actions, it can be anything. Index 0 of data in filters is what is filtered. But in callbacks, the array itself must be returned.

### Example

[](#example)

```
