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