PHP Classes

File: src/autoload.php

Recommend this page to a friend!
  Classes of Mohamed Aymen Ben Slimane   Mabs   src/autoload.php   Download  
File: src/autoload.php
Role: Auxiliary script
Content type: text/plain
Description: Class source
Class: Mabs
Micro-framework for Web application development
Author: By
Last change:
Date: 8 years ago
Size: 851 bytes
 

Contents

Class file image Download
<?php

// autoload.php

spl_autoload_register(function ($class) {

   
// project-specific namespace prefix
   
$prefix = 'Mabs\\';

   
// base directory for the namespace prefix
   
$base_dir = __DIR__ . '/../src/';

   
// does the class use the namespace prefix?
   
$len = strlen($prefix);
    if (
strncmp($prefix, $class, $len) !== 0) {
       
// no, move to the next registered autoloader
       
return;
    }

   
// get the relative class name
   
$relative_class = substr($class, $len);

   
// replace the namespace prefix with the base directory, replace namespace
    // separators with directory separators in the relative class name, append
    // with .php
   
$file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';

   
// if the file exists, require it
   
if (file_exists($file)) {
        require
$file;
    }
});