You won't find a better Self-Sealing Callable in this sector!
Find a file
2024-12-11 19:32:38 -06:00
lib Initial commit 2024-02-12 10:55:01 -06:00
tests Updated dependencies, testing on php 8.4 2024-12-11 19:32:38 -06:00
.gitignore Initial commit 2024-02-12 10:55:01 -06:00
AUTHORS Initial commit 2024-02-12 10:55:01 -06:00
composer.json Initial commit 2024-02-12 10:55:01 -06:00
composer.lock Updated dependencies, testing on php 8.4 2024-12-11 19:32:38 -06:00
LICENSE Initial commit 2024-02-12 10:55:01 -06:00
README.md Initial commit 2024-02-12 10:55:01 -06:00
test Initial commit 2024-02-12 10:55:01 -06:00

Self-Sealing Callable

You won't find a better Self-Sealing Callable in this sector!

Self-Sealing Callable is a class that implements __invoke() which can enable and disable itself. When registering shutdown functions in PHP it's not possible to unregister them. This class exists to be used in this case. By calling SelfSealingCallable->disable() it will return false when invoked, allowing retroactive disabling of the shutdown handler.

Requirements

  • PHP 8.1

Installation

composer require mensbeam/self-sealing-callable

Usage

It's pretty simple:

use MensBeam\SelfSealingCallable;

$callable = new SelfSealingCallable(fn() => 'ook');
$ook = $callable();
// 'ook'
$callable->disable();
$ook = $callable();
// false
$callable->enable();
$ook = $callable();
// 'ook'