You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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();
|
|
}
|
|
}
|