Serializable Closure

laravel/serializable-closure image

Serializable Closure stats

Downloads
96.2M
Stars
402
Open Issues
0
Forks
23

View on GitHub →

Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.

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.

laravel photo

Laravel is a web ecosystem full of delightful tools that are supercharged for developer happiness and productivity.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Laravel Serializable Closure Related Articles

JSON Schema Deserialization in Laravel 13.14 image

JSON Schema Deserialization in Laravel 13.14

Read article
Scheduler List: A Web Dashboard for Laravel's Scheduled Tasks image

Scheduler List: A Web Dashboard for Laravel's Scheduled Tasks

Read article
Community Laravel Extension for Zed image

Community Laravel Extension for Zed

Read article
Advanced Eloquent Query Filtering with Filterable image

Advanced Eloquent Query Filtering with Filterable

Read article
Bulk Job Dispatching with Bus::bulk() in Laravel 13.13 image

Bulk Job Dispatching with Bus::bulk() in Laravel 13.13

Read article
Audit Laravel Apps for Security Issues with Checkpoint image

Audit Laravel Apps for Security Issues with Checkpoint

Read article
Blastup logo

Blastup

Blastup provides social media enhancement services including buying Instagram likes, followers, and views, with features like instant delivery and a variety of packages to suit different needs.

Blastup
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell
Celebian logo

Celebian

Celebian is a social media marketing agency specializing in helping their clients go viral on TikTok. Whether you're looking to reach a bigger audience or gain more Tiktok followers, likes, and views, they've got you covered.

Celebian
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit