diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-04-27 03:47:30 +0300 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-04-27 03:47:30 +0300 |
| commit | 059e0d95d0c28bc5060e87e146eaf7411f51bf90 (patch) | |
| tree | 7c21ac432f16dde2329a0d5954d70711eceb48e6 /core/helpers/autoload.php | |
| parent | 26cd8ee99659ef1926c96a049c93645ffc9b169d (diff) | |
| download | gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.tar.gz gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.tar.bz2 gyraf1gov-059e0d95d0c28bc5060e87e146eaf7411f51bf90.zip | |
skeleton commit; based on an anom project
Diffstat (limited to 'core/helpers/autoload.php')
| -rw-r--r-- | core/helpers/autoload.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/core/helpers/autoload.php b/core/helpers/autoload.php new file mode 100644 index 0000000..c4359c6 --- /dev/null +++ b/core/helpers/autoload.php @@ -0,0 +1,43 @@ +<?php +/** register class-autoloader + * + * NOTE: + * Composer is strongly recommended; it is a much better option + * and takes care for many more than just autoloading classes; + * + * This's a fair autoloader in case composer is not available; + * supports single and namespaced classes. + */ +spl_autoload_register( + function($className) { + + // in order to support common namespaced classes + // replace '\' with '/' to get the path + $classPath = str_replace('\\', DIRECTORY_SEPARATOR, $className); + + // check all possible classPaths for class + foreach(CLASSPATHS as $key => $basePath) { + + $file = APP_ROOT . $basePath . $classPath .'.php'; + + // if class-file exist, include it + if (file_exists($file)) { + require_once $file; + break; + } + + } + + // // Feel free to extend the fanctionality + // // example: + // // custom (exception) namespaced classes loader + // $customNSclasses = array( + // '\\George\\Class' => 'path/to/George/Class', + // '\\Mary\\Class' => 'path/to/Marias/Class', + // ... + // ); + // if array_key_exists($className) { + // require_once $customNSclasses[$className]; + // } + } +); |
