private function configureAutoloaderAndResolver()
    {
        if ($this->autoloader !== null)
            return;

        // Construct the Wedeto autoloader and resolver
        $cache = $this->cachemanager->getCache("resolution");

        $this->autoloader = new Autoloader();
        $this->autoloader->setCache($cache);
        $this->injector->setInstance(Autoloader::class, $this->autoloader);

        $this->resolver = new Resolver($cache);
        $this->resolver
            ->addResolverType('template', 'template', '.php')
            ->addResolverType('assets', 'assets')
            ->addResolverType('app', 'app')
            ->addResolverType('code', 'src')
            ->addResolverType('language', 'language')
            ->addResolverType('migrations', 'migrations')
            ->setResolver("app", new Router("router"));
        $this->injector->setInstance(Resolver::class, $this->resolver);

        spl_autoload_register(array($this->autoloader, 'autoload'), true, true);

        $cl = Autoloader::findComposerAutoloader();
        if (!empty($cl))
        {
            $vendor_dir = Autoloader::findComposerAutoloaderVendorDir($cl);
            $this->autoloader->importComposerAutoloaderConfiguration($vendor_dir);
            $this->resolver->autoConfigureFromComposer($vendor_dir);
        }
        else
        {
            // Apparently, composer is not in use. Assume that Wedeto is packaged in one directory and add that
            $my_dir = __DIR__;
            $wedeto_dir = dirname(dirname($my_dir));

            $this->autoloader->registerNS("Wedeto\\", $wedeto_dir, Autoloader::PSR4);

            // Find modules containing assets, templates or apps
            $modules = $this->resolver->findModules($wedeto_dir , '/modules', "", 0);
            foreach ($modules as $name => $path)
                $this->resolver->registerModule($name, $path);
        }
    }
private function configureAutoloaderAndResolver()
    {
        if ($this->autoloader !== null)
            return;

        // Construct the Wedeto autoloader and resolver
        $cache = $this->cachemanager->getCache("resolution");

        $this->autoloader = new Autoloader();
        $this->autoloader->setCache($cache);
        $this->injector->setInstance(Autoloader::class, $this->autoloader);

        $this->resolver = new Resolver($cache);
        $this->resolver
            ->addResolverType('template', 'template', '.php')
            ->addResolverType('assets', 'assets')
            ->addResolverType('app', 'app')
            ->addResolverType('code', 'src')
            ->addResolverType('language', 'language')
            ->addResolverType('migrations', 'migrations')
            ->setResolver("app", new Router("router"));
        $this->injector->setInstance(Resolver::class, $this->resolver);

        spl_autoload_register(array($this->autoloader, 'autoload'), true, true);

        $cl = Autoloader::findComposerAutoloader();
        if (!empty($cl))
        {
            $vendor_dir = Autoloader::findComposerAutoloaderVendorDir($cl);
            $this->autoloader->importComposerAutoloaderConfiguration($vendor_dir);
            $this->resolver->autoConfigureFromComposer($vendor_dir);
        }
        else
        {
            // Apparently, composer is not in use. Assume that Wedeto is packaged in one directory and add that
            $my_dir = __DIR__;
            $wedeto_dir = dirname(dirname($my_dir));

            $this->autoloader->registerNS("Wedeto\\", $wedeto_dir, Autoloader::PSR4);

            // Find modules containing assets, templates or apps
            $modules = $this->resolver->findModules($wedeto_dir , '/modules', "", 0);
            foreach ($modules as $name => $path)
                $this->resolver->registerModule($name, $path);
        }
    }
private function configureAutoloaderAndResolver ( ) { if ( $ this -> autoloader !== null ) return ; // Construct the Wedeto autoloader and resolver $ cache = $ this -> cachemanager -> getCache ( "resolution" ) ; $ this -> autoloader = new Autoloader ( ) ; $ this -> autoloader -> setCache ( $ cache ) ; $ this -> injector -> setInstance ( Autoloader :: class , $ this -> autoloader ) ; $ this -> resolver = new Resolver ( $ cache ) ; $ this -> resolver -> addResolverType ( 'template' , 'template' , '.php' ) -> addResolverType ( 'assets' , 'assets' ) -> addResolverType ( 'app' , 'app' ) -> addResolverType ( 'code' , 'src' ) -> addResolverType ( 'language' , 'language' ) -> addResolverType ( 'migrations' , 'migrations' ) -> setResolver ( "app" , new Router ( "router" ) ) ; $ this -> injector -> setInstance ( Resolver :: class , $ this -> resolver ) ; spl_autoload_register ( array ( $ this -> autoloader , 'autoload' ) , true , true ) ; $ cl = Autoloader :: findComposerAutoloader ( ) ; if ( ! empty ( $ cl ) ) { $ vendor_dir = Autoloader :: findComposerAutoloaderVendorDir ( $ cl ) ; $ this -> autoloader -> importComposerAutoloaderConfiguration ( $ vendor_dir ) ; $ this -> resolver -> autoConfigureFromComposer ( $ vendor_dir ) ; } else { // Apparently, composer is not in use. Assume that Wedeto is packaged in one directory and add that $ my_dir = __DIR__ ; $ wedeto_dir = dirname ( dirname ( $ my_dir ) ) ; $ this -> autoloader -> registerNS ( "Wedeto\\" , $ wedeto_dir , Autoloader :: PSR4 ) ; // Find modules containing assets, templates or apps $ modules = $ this -> resolver -> findModules ( $ wedeto_dir , '/modules' , "" , 0 ) ; foreach ( $ modules as $ name => $ path ) $ this -> resolver -> registerModule ( $ name , $ path ) ; } }
Configure the auto loader - replace the default autoloader provided by composer
and register all resolvable assets.
Configure the auto loader - replace the default autoloader provided by composer and register all resolvable assets .