gl-website-deployer/admin/phpMyAdmin/vendor/thecodingmachine/safe/generated/spl.php
2024-11-19 08:02:04 +01:00

140 lines
4.4 KiB
PHP

<?php
namespace Safe;
use Safe\Exceptions\SplException;
/**
* This function returns an array with the names of the interfaces that the
* given class and its parents implement.
*
* @param mixed $class An object (class instance) or a string (class or interface name).
* @param bool $autoload Whether to allow this function to load the class automatically through
* the __autoload magic method.
* @return array An array on success.
* @throws SplException
*
*/
function class_implements($class, bool $autoload = true): array
{
error_clear_last();
$result = \class_implements($class, $autoload);
if ($result === false) {
throw SplException::createFromPhpError();
}
return $result;
}
/**
* This function returns an array with the name of the parent classes of
* the given class.
*
* @param mixed $class An object (class instance) or a string (class name).
* @param bool $autoload Whether to allow this function to load the class automatically through
* the __autoload magic method.
* @return array An array on success.
* @throws SplException
*
*/
function class_parents($class, bool $autoload = true): array
{
error_clear_last();
$result = \class_parents($class, $autoload);
if ($result === false) {
throw SplException::createFromPhpError();
}
return $result;
}
/**
* This function returns an array with the names of the traits that the
* given class uses. This does however not include
* any traits used by a parent class.
*
* @param mixed $class An object (class instance) or a string (class name).
* @param bool $autoload Whether to allow this function to load the class automatically through
* the __autoload magic method.
* @return array An array on success.
* @throws SplException
*
*/
function class_uses($class, bool $autoload = true): array
{
error_clear_last();
$result = \class_uses($class, $autoload);
if ($result === false) {
throw SplException::createFromPhpError();
}
return $result;
}
/**
* Register a function with the spl provided __autoload queue. If the queue
* is not yet activated it will be activated.
*
* If your code has an existing __autoload function then
* this function must be explicitly registered on the __autoload queue. This
* is because spl_autoload_register will effectively
* replace the engine cache for the __autoload function
* by either spl_autoload or
* spl_autoload_call.
*
* If there must be multiple autoload functions, spl_autoload_register
* allows for this. It effectively creates a queue of autoload functions, and
* runs through each of them in the order they are defined. By contrast,
* __autoload may only be defined once.
*
* @param callable(string):void $autoload_function The autoload function being registered.
* If no parameter is provided, then the default implementation of
* spl_autoload will be registered.
* @param bool $throw This parameter specifies whether
* spl_autoload_register should throw
* exceptions when the autoload_function
* cannot be registered.
* @param bool $prepend If true, spl_autoload_register will prepend
* the autoloader on the autoload queue instead of appending it.
* @throws SplException
*
*/
function spl_autoload_register(callable $autoload_function = null, bool $throw = true, bool $prepend = false): void
{
error_clear_last();
if ($prepend !== false) {
$result = \spl_autoload_register($autoload_function, $throw, $prepend);
} elseif ($throw !== true) {
$result = \spl_autoload_register($autoload_function, $throw);
} elseif ($autoload_function !== null) {
$result = \spl_autoload_register($autoload_function);
} else {
$result = \spl_autoload_register();
}
if ($result === false) {
throw SplException::createFromPhpError();
}
}
/**
* Removes a function from the autoload queue. If the queue
* is activated and empty after removing the given function then it will
* be deactivated.
*
* When this function results in the queue being deactivated, any
* __autoload function that previously existed will not be reactivated.
*
* @param mixed $autoload_function The autoload function being unregistered.
* @throws SplException
*
*/
function spl_autoload_unregister($autoload_function): void
{
error_clear_last();
$result = \spl_autoload_unregister($autoload_function);
if ($result === false) {
throw SplException::createFromPhpError();
}
}