1*2762023dSMarkus Hoffrogge<?php 2*2762023dSMarkus Hoffrogge 3*2762023dSMarkus Hoffroggespl_autoload_register( 4*2762023dSMarkus Hoffrogge /** 5*2762023dSMarkus Hoffrogge * Simple PSR-4 autoloader 6*2762023dSMarkus Hoffrogge * 7*2762023dSMarkus Hoffrogge * Based on PSR-4 example code 8*2762023dSMarkus Hoffrogge * 9*2762023dSMarkus Hoffrogge * @link http://www.php-fig.org/psr/psr-4/examples/ 10*2762023dSMarkus Hoffrogge * @param string $class The fully-qualified class name. 11*2762023dSMarkus Hoffrogge * @return void 12*2762023dSMarkus Hoffrogge */ 13*2762023dSMarkus Hoffrogge function ($class) { 14*2762023dSMarkus Hoffrogge $namespaces = array( 15*2762023dSMarkus Hoffrogge 'woolfg\\dokuwiki\\plugin\\gitbacked\\' => __DIR__ . '/classes/' 16*2762023dSMarkus Hoffrogge ); 17*2762023dSMarkus Hoffrogge 18*2762023dSMarkus Hoffrogge foreach ($namespaces as $prefix => $base_dir) { 19*2762023dSMarkus Hoffrogge // does the class use the namespace prefix? 20*2762023dSMarkus Hoffrogge $len = strlen($prefix); 21*2762023dSMarkus Hoffrogge if (strncmp($prefix, $class, $len) !== 0) { 22*2762023dSMarkus Hoffrogge // no, move to the next 23*2762023dSMarkus Hoffrogge continue; 24*2762023dSMarkus Hoffrogge } 25*2762023dSMarkus Hoffrogge 26*2762023dSMarkus Hoffrogge // get the relative class name 27*2762023dSMarkus Hoffrogge $relative_class = substr($class, $len); 28*2762023dSMarkus Hoffrogge 29*2762023dSMarkus Hoffrogge // replace the namespace prefix with the base directory, replace namespace 30*2762023dSMarkus Hoffrogge // separators with directory separators in the relative class name, append 31*2762023dSMarkus Hoffrogge // with .php 32*2762023dSMarkus Hoffrogge $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php'; 33*2762023dSMarkus Hoffrogge 34*2762023dSMarkus Hoffrogge // if the file exists, require it 35*2762023dSMarkus Hoffrogge if (file_exists($file)) { 36*2762023dSMarkus Hoffrogge require $file; 37*2762023dSMarkus Hoffrogge } 38*2762023dSMarkus Hoffrogge } 39*2762023dSMarkus Hoffrogge } 40*2762023dSMarkus Hoffrogge); 41