Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.
laravel/serializable-closure stats
- Downloads
- 96.2M
- Stars
- 402
- Open Issues
- 0
- Forks
- 23
Summary of Laravel Serializable Closure Package
Overview
Laravel Serializable Closure is a robust package designed to serialize closures in PHP applications. Originating as a fork from the opis/closure package, it addresses compatibility issues with new PHP versions without requiring the FFI extension, making it ideal for web applications.
Key Features
- Simple Serialization: Easily convert closures to a serializable format and back.
- Security: Enhance security by setting a secret key for serialization processes.
Installation
Install the package via Composer:
composer require laravel/serializable-closure
Prerequisites: PHP 7.4 or higher.
Usage
Serialize and unserialize a closure using:
use Laravel\SerializableClosure\SerializableClosure; $closure = fn () => 'james';SerializableClosure::setSecretKey('secret');$serialized = serialize(new SerializableClosure($closure));$closure = unserialize($serialized)->getClosure(); echo $closure(); // Outputs 'james'
Caveats
- Does not support anonymous classes or attributes within closures.
- Serialization in REPL environments like Laravel Tinker and with readonly properties in objects is unsupported.
Contributions
Contributions are welcome. Refer to the Laravel contribution guide for more details.
License
This package is released under the MIT license.
For a comprehensive understanding of its functionality and limitations, visit the package's official repository.