Debugging closures
Learn how to debug serialized closures
This version of the library is no longer maintained. Please consider upgrading to the latest release
Opis Closure is debugging friendly and can be used in conjunction with error handlers like whoops without any special or supplemental configurations.
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
$closure = function(){
throw new \Exception();
};
$closure = unserialize(serialize(new SerializableClosure($closure)))->getClosure();
$closure();
Starting with version 2.0.0, Opis Closure allows you to track the residing
source of a serialized closure by using the #trackme
directive inside the closure.
The #trackme
directive provides the following information:
Date
- the date when the closure was serialized, represented in the W3C formatTimestamp
- an integer representation of the DateFile
- the file where the serialized closure residesLine
- the line where the closure can be located inside the File
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
$closure = function(){
#trackme
throw new \Exception();
};
$closure = unserialize(serialize(new SerializableClosure($closure)))->getClosure();
$closure();