48 lines
1.1 KiB
PHP
48 lines
1.1 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Safe;
|
||
|
|
||
|
use Safe\Exceptions\FunchandException;
|
||
|
|
||
|
/**
|
||
|
* Creates an anonymous function from the parameters passed, and
|
||
|
* returns a unique name for it.
|
||
|
*
|
||
|
* @param string $args The function arguments.
|
||
|
* @param string $code The function code.
|
||
|
* @return string Returns a unique function name as a string.
|
||
|
* @throws FunchandException
|
||
|
*
|
||
|
*/
|
||
|
function create_function(string $args, string $code): string
|
||
|
{
|
||
|
error_clear_last();
|
||
|
$result = \create_function($args, $code);
|
||
|
if ($result === false) {
|
||
|
throw FunchandException::createFromPhpError();
|
||
|
}
|
||
|
return $result;
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
*
|
||
|
* @param callable(): void $function The function to register.
|
||
|
* @param mixed $params
|
||
|
* @throws FunchandException
|
||
|
*
|
||
|
*/
|
||
|
function register_tick_function(callable $function, ...$params): void
|
||
|
{
|
||
|
error_clear_last();
|
||
|
if ($params !== []) {
|
||
|
$result = \register_tick_function($function, ...$params);
|
||
|
} else {
|
||
|
$result = \register_tick_function($function);
|
||
|
}
|
||
|
if ($result === false) {
|
||
|
throw FunchandException::createFromPhpError();
|
||
|
}
|
||
|
}
|