mirror of
https://github.com/skipperbent/simple-php-router.git
synced 2026-06-15 18:23:26 +03:00
- Change variable $values to $settings in Route::setSettings method. - Added return types to methods. - Added type to method variables. - Change ClassNotFoundException so required parameters are first.
37 lines
828 B
PHP
37 lines
828 B
PHP
<?php
|
|
|
|
namespace Pecee\SimpleRouter\ClassLoader;
|
|
|
|
use Pecee\SimpleRouter\Exceptions\ClassNotFoundHttpException;
|
|
|
|
class ClassLoader implements IClassLoader
|
|
{
|
|
/**
|
|
* Load class
|
|
*
|
|
* @param string $class
|
|
* @return object
|
|
* @throws ClassNotFoundHttpException
|
|
*/
|
|
public function loadClass(string $class)
|
|
{
|
|
if (class_exists($class) === false) {
|
|
throw new ClassNotFoundHttpException($class, null, sprintf('Class "%s" does not exist', $class), 404, null);
|
|
}
|
|
|
|
return new $class();
|
|
}
|
|
|
|
/**
|
|
* Load closure
|
|
*
|
|
* @param Callable $closure
|
|
* @param array $parameters
|
|
* @return mixed
|
|
*/
|
|
public function loadClosure(Callable $closure, array $parameters)
|
|
{
|
|
return \call_user_func_array($closure, $parameters);
|
|
}
|
|
|
|
} |