Skip to content

Instantly share code, notes, and snippets.

@usingthesystem
Last active November 14, 2016 20:39
Show Gist options
  • Select an option

  • Save usingthesystem/8123b30361859e22f78ed23d347cefb8 to your computer and use it in GitHub Desktop.

Select an option

Save usingthesystem/8123b30361859e22f78ed23d347cefb8 to your computer and use it in GitHub Desktop.
autoload files in php
<?php
// source: http://php.net/manual/de/language.oop5.autoload.php#99173
class autoloader {
public static $loader;
public static function init()
{
if (self::$loader == NULL)
self::$loader = new self();
return self::$loader;
}
public function __construct()
{
spl_autoload_register(array($this,'model'));
spl_autoload_register(array($this,'helper'));
spl_autoload_register(array($this,'controller'));
spl_autoload_register(array($this,'library'));
}
public function library($class)
{
set_include_path(get_include_path().PATH_SEPARATOR.'/lib/');
spl_autoload_extensions('.library.php');
spl_autoload($class);
}
public function controller($class)
{
$class = preg_replace('/_controller$/ui','',$class);
set_include_path(get_include_path().PATH_SEPARATOR.'/controller/');
spl_autoload_extensions('.controller.php');
spl_autoload($class);
}
public function model($class)
{
$class = preg_replace('/_model$/ui','',$class);
set_include_path(get_include_path().PATH_SEPARATOR.'/model/');
spl_autoload_extensions('.model.php');
spl_autoload($class);
}
public function helper($class)
{
$class = preg_replace('/_helper$/ui','',$class);
set_include_path(get_include_path().PATH_SEPARATOR.'/helper/');
spl_autoload_extensions('.helper.php');
spl_autoload($class);
}
}
//call
autoloader::init();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment