1. Go to this page and download the library: Download m3m0r7/php-deferrable library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use function PHPDeferrable\defer;
use function PHPDeferrable\deferrable;
class MyClass
{
public function doSomething1()
{
defer(function () {
echo "Three!\n";
});
defer(function () {
echo "Two!\n";
});
echo "One!\n";
}
public function doSomething2()
{
defer(function () {
echo "NyanNyan!\n";
});
echo "Wanwan!\n";
}
}
/**
* @var MyClass $myClass
*/
$myClass = deferrable(MyClass::class, ...$somethingArguments);
$myClass->doSomething1();
$myClass->doSomething2();
use function PHPDeferrable\defer;
use function PHPDeferrable\deferrable;
deferrable(function () {
defer(function () {
echo "0: deferred call\n";
});
echo "0: first call\n";
})();
deferrable(function () {
defer(function () {
echo "1: deferred call\n";
});
echo "1: first call\n";
})();
use function PHPDeferrable\defer;
use function PHPDeferrable\deferrable;
$result = deferrable(function () {
defer(function () {
// do something.
});
return "Return value\n";
})();
echo $result;
use function PHPDeferrable\defer;
use function PHPDeferrable\deferrable;
deferrable(function () {
$handle = fopen('php://memory', 'r')
defer(function () use ($handle) {
fclose($handle)
});
// ... do something
})();
use function PHPDeferrable\defer;
use function PHPDeferrable\deferrable;
deferrable(function () {
$message = 'Hello World';
defer(function ($message) {
echo $message;
}, $message);
// ... do something
})();
use function PHPDeferrable\defer;
use function PHPDeferrable\deferrable;
deferrable(function () {
$message = 'Hello World';
defer(function (&$message) {
echo $message;
}, $message);
defer(function (&$message) {
$message = 'The cat has big power.';
}, $message);
// ... do something
})();
deferrable(function() {
defer(function () {
throw new Exception('exception 1');
});
defer(function () {
throw new Exception('exception 2');
});
defer(function () {
throw new Exception('exception 3');
});
})()
deferrable(
DeferBailableScope::of(function() {
defer(function () {
throw new ThirdException('exception 1');
});
defer(function () {
throw new SecondException('exception 2');
});
defer(function () {
throw new FirstException('exception 3');
});
)
})()
class MyClassTest
{
public function doSomething()
{
defer(function () {
throw new ThirdException('exception 1');
});
defer(function () {
throw new SecondException('exception 2');
});
defer(function () {
throw new FirstException('exception 3');
});
}
}
$myClass = deferrable(
DeferBailableScope::of(
MyClassTest::class
)
);
$myClass->doSomething();
class SecondException extends \Exception implements DeferBailableExceptionInterface
{
}
deferrable(function() {
defer(function () {
throw new ThirdException('exception 1');
});
defer(function () {
throw new SecondException('exception 2');
});
defer(function () {
throw new FirstException('exception 3');
});
})()
class Example
{
public function doSomething()
{
$context = Defer::createContext(DeferrableScopeType::BAILABLE);
$context->defer(function () {
throw new ThirdException('exception 1');
});
$context->defer(function () {
throw new SecondException('exception 2');
});
$context->defer(function () {
throw new FirstException('exception 3');
});
}
}
(new Example())->doSomething();
class MyClass
{
public function doSomething()
{
$context = Defer::createContext();
$context->defer(function () {
echo "Two!";
});
echo "One!";
}
}
$myClass = new MyClass();
$myClass->doSomething();
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.