Skip to content

Instantly share code, notes, and snippets.

@vlrmprjct
Forked from cheich/autoload.php
Last active November 13, 2017 07:51
Show Gist options
  • Save vlrmprjct/95ebcffadc78e821891a304033d44f70 to your computer and use it in GitHub Desktop.
Save vlrmprjct/95ebcffadc78e821891a304033d44f70 to your computer and use it in GitHub Desktop.
PSR-4 class autoloader #php #class #autoloader
<?php
namespace MyProjectNamespace;
/**
* PSR-4 class autoloader
*
* @param string $class The fully-qualified class name.
*
* @return void
*/
spl_autoload_register(function ($class) {
$prefix = __NAMESPACE__ . '\\';
$base_dir = __DIR__ . '/inc/';
$len = strlen($prefix);
if (strncmp($prefix, $class, $len) !== 0)
return;
$relative_class = substr($class, $len);
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
if (file_exists($file))
require $file;
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment