2017 © Pedro Peláez
 

library closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

image

opis/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  • Wednesday, May 23, 2018
  • by msarca
  • Repository
  • 18 Watchers
  • 204 Stars
  • 234,208 Installations
  • PHP
  • 38 Dependents
  • 4 Suggesters
  • 9 Forks
  • 0 Open issues
  • 37 Versions
  • 19 % Grown

The README.md

Opis Closure

Tests Latest Stable Version Latest Unstable Version License, (*1)

Serializable closures

Opis Closure is a library that aims to overcome PHP's limitations regarding closure serialization by providing a wrapper that will make all closures serializable., (*2)

The library's key features:, (*3)

  • Serialize any closure
  • Serialize arbitrary objects
  • Doesn't use eval for closure serialization or unserialization
  • Works with any PHP version that has support for closures
  • Supports PHP 7 syntax
  • Handles all variables referenced/imported in use() and automatically wraps all referenced/imported closures for proper serialization
  • Handles recursive closures
  • Handles magic constants like __FILE__, __DIR__, __LINE__, __NAMESPACE__, __CLASS__, __TRAIT__, __METHOD__ and __FUNCTION__.
  • Automatically resolves all class names, function names and constant names used inside the closure
  • Track closure's residing source by using the #trackme directive
  • Simple and very fast parser
  • Any error or exception, that might occur when executing an unserialized closure, can be caught and treated properly
  • You can serialize/unserialize any closure unlimited times, even those previously unserialized (this is possible because eval() is not used for unserialization)
  • Handles static closures
  • Supports cryptographically signed closures
  • Provides a reflector that can give you information about the serialized closure
  • Provides an analyzer for SuperClosure library
  • Automatically detects when the scope and/or the bound object of a closure needs to be serialized in order for the closure to work after deserialization

Documentation

The full documentation for this library can be found here., (*4)

License

Opis Closure is licensed under the MIT License (MIT)., (*5)

Requirements

  • PHP ^5.4 || ^7.0 || ^8.0

Installation

Opis Closure is available on Packagist and it can be installed from a command line interface by using Composer., (*6)

composer require opis/closure

Or you could directly reference it into your composer.json file as a dependency, (*7)

{
    "require": {
        "opis/closure": "^3.5"
    }
}

Migrating from 2.x

If your project needs to support PHP 5.3 you can continue using the 2.x version of Opis Closure. Otherwise, assuming you are not using one of the removed/refactored classes or features(see CHANGELOG), migrating to version 3.x is simply a matter of updating your composer.json file., (*8)

Semantic versioning

Opis Closure follows semantic versioning specifications., (*9)

Arbitrary object serialization

We've added this feature in order to be able to support the serialization of a closure's bound object. The implementation is far from being perfect, and it's really hard to make it work flawless. We will try to improve this, but we can't guarantee anything. So our advice regarding the Opis\Closure\serialize|unserialize functions is to use them with caution., (*10)

The Versions

23/05 2018

dev-master

9999999-dev http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

23/02 2018

3.0.12

3.0.12.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

22/01 2018

3.0.11

3.0.11.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

04/01 2018

3.0.10

3.0.10.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

04/01 2018

3.0.9

3.0.9.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

18/12 2017

3.0.8

3.0.8.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

31/10 2017

3.0.7

3.0.7.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

06/10 2017

3.0.6

3.0.6.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

18/09 2017

3.0.5

3.0.5.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

18/09 2017

3.0.4

3.0.4.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

06/09 2017

3.0.3

3.0.3.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

28/08 2017

3.0.2

3.0.2.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

13/04 2017

3.0.1

3.0.1.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

13/04 2017

2.4.x-dev

2.4.9999999.9999999-dev http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

13/04 2017

2.4.1

2.4.1.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

07/04 2017

3.0.0

3.0.0.0 http://www.opis.io/closure

A library that can be used to serialize closures (anonymous functions) and arbitrary objects.

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

25/01 2017

3.0.x-dev

3.0.9999999.9999999-dev http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.4.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

16/12 2016

2.4.0

2.4.0.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

15/12 2016

2.3.x-dev

2.3.9999999.9999999-dev http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

15/12 2016

2.3.2

2.3.2.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

13/12 2016

2.3.1

2.3.1.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

17/11 2016

2.3.0

2.3.0.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

20/08 2016

2.2.x-dev

2.2.9999999.9999999-dev http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

20/08 2016

2.2.1

2.2.1.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

26/07 2016

2.2.0

2.2.0.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

30/09 2015

2.1.x-dev

2.1.9999999.9999999-dev http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

30/09 2015

2.1.0

2.1.0.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

23/09 2015

2.0.1

2.0.1.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

31/07 2015

2.0.0

2.0.0.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

30/07 2015

1.3.x-dev

1.3.9999999.9999999-dev http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

18/10 2014

1.3.0

1.3.0.0 http://www.opis.io/closure

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

04/08 2014

1.2.2

1.2.2.0 http://opis.io

A library for PHP 5.3+ that can be used to serialize closures (anonymous functions).

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable anonymous functions

16/02 2014

1.2.1

1.2.1.0 http://opis.io

A PHP 5.3+ library for closure serialization. Serialize any closure in a safe and fast way.

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable

16/02 2014

1.2.0

1.2.0.0 http://opis.io

A PHP 5.3+ library for closure serialization. Serialize any closure in a safe and fast way.

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization serialize closure serializable

15/02 2014

1.1.1

1.1.1.0 http://opis.io

Real serialization of closures is now possible. Serialize any closure in a safe and fast way.

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization closure opis

14/02 2014

1.1.0

1.1.0.0 http://opis.io

Real serialization of closures is now possible. Serialize any closure in a safe and fast way.

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization closure opis

12/02 2014

1.0.0

1.0.0.0 http://opis.io

Real serialization of closures is now possible. Serialize any closure in a safe and fast way.

  Sources   Download

MIT

The Requires

  • php >=5.3.0

 

The Development Requires

by Marius Sarca

function serialization closure opis