public static function register($proxyDir, $proxyNamespace, $notFoundCallback = null)
    {
        $proxyNamespace = ltrim($proxyNamespace, '\\');

        if ( ! (null === $notFoundCallback || is_callable($notFoundCallback))) {
            throw InvalidArgumentException::invalidClassNotFoundCallback($notFoundCallback);
        }

        $autoloader = function ($className) use ($proxyDir, $proxyNamespace, $notFoundCallback) {
            if (0 === strpos($className, $proxyNamespace)) {
                $file = Autoloader::resolveFile($proxyDir, $proxyNamespace, $className);

                if ($notFoundCallback && ! file_exists($file)) {
                    call_user_func($notFoundCallback, $proxyDir, $proxyNamespace, $className);
                }

                require $file;
            }
        };

        spl_autoload_register($autoloader);

        return $autoloader;
    }
public static function register($proxyDir, $proxyNamespace, $notFoundCallback = null)
    {
        $proxyNamespace = ltrim($proxyNamespace, '\\');

        if ( ! (null === $notFoundCallback || is_callable($notFoundCallback))) {
            throw InvalidArgumentException::invalidClassNotFoundCallback($notFoundCallback);
        }

        $autoloader = function ($className) use ($proxyDir, $proxyNamespace, $notFoundCallback) {
            if (0 === strpos($className, $proxyNamespace)) {
                $file = Autoloader::resolveFile($proxyDir, $proxyNamespace, $className);

                if ($notFoundCallback && ! file_exists($file)) {
                    call_user_func($notFoundCallback, $proxyDir, $proxyNamespace, $className);
                }

                require $file;
            }
        };

        spl_autoload_register($autoloader);

        return $autoloader;
    }
public static function register ( $ proxyDir , $ proxyNamespace , $ notFoundCallback = null ) { $ proxyNamespace = ltrim ( $ proxyNamespace , '\\' ) ; if ( ! ( null === $ notFoundCallback || is_callable ( $ notFoundCallback ) ) ) { throw InvalidArgumentException :: invalidClassNotFoundCallback ( $ notFoundCallback ) ; } $ autoloader = function ( $ className ) use ( $ proxyDir , $ proxyNamespace , $ notFoundCallback ) { if ( 0 === strpos ( $ className , $ proxyNamespace ) ) { $ file = Autoloader :: resolveFile ( $ proxyDir , $ proxyNamespace , $ className ) ; if ( $ notFoundCallback && ! file_exists ( $ file ) ) { call_user_func ( $ notFoundCallback , $ proxyDir , $ proxyNamespace , $ className ) ; } require $ file ; } } ; spl_autoload_register ( $ autoloader ) ; return $ autoloader ; }
Registers and returns autoloader callback for the given proxy dir and namespace.

@param string        $proxyDir
@param string        $proxyNamespace
@param callable|null $notFoundCallback Invoked when the proxy file is not found.

@return \Closure

@throws InvalidArgumentException
Registers and returns autoloader callback for the given proxy dir and namespace .