diff options
Diffstat (limited to 'opis/closure/autoload.php')
-rw-r--r-- | opis/closure/autoload.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/opis/closure/autoload.php b/opis/closure/autoload.php new file mode 100644 index 00000000..2354ea56 --- /dev/null +++ b/opis/closure/autoload.php @@ -0,0 +1,39 @@ +<?php +/* =========================================================================== + * Copyright (c) 2018-2021 Zindex Software + * + * Licensed under the MIT License + * =========================================================================== */ + +require_once __DIR__ . '/functions.php'; + +spl_autoload_register(function($class){ + + $class = ltrim($class, '\\'); + $dir = __DIR__ . '/src'; + $namespace = 'Opis\Closure'; + + if(strpos($class, $namespace) === 0) + { + $class = substr($class, strlen($namespace)); + $path = ''; + if(($pos = strripos($class, '\\')) !== FALSE) + { + $path = str_replace('\\', '/', substr($class, 0, $pos)) . '/'; + $class = substr($class, $pos + 1); + } + $path .= str_replace('_', '/', $class) . '.php'; + $dir .= '/' . $path; + + if(file_exists($dir)) + { + include $dir; + return true; + } + + return false; + } + + return false; + +}); |