/** * Register default directories. * * Searches for child directories of /core/ and /pro/ and registers them * for auto-loading. * * Cannot use `GLOB_BRACE`, because that is not available on SunOS. * * @param Inpsyde_Autoload $loader * @return void */ private function load_defaults(Inpsyde_Autoload $loader) { $dirs = glob("{$this->plugin_dir}/*", GLOB_ONLYDIR); foreach ($dirs as $dir) { $loader->add_rule(new Inpsyde_Directory_Load($dir)); } }
/** * Real auto-loader for modern PHP installations. * * @return void */ private function setup_autoloader() { $dir = dirname(__FILE__); // We need these classes in exactly this order if (!interface_exists('Inpsyde_Autoload_Rule_Interface')) { require "{$dir}/Inpsyde_Autoload_Rule_Interface.php"; } if (!class_exists('Dipo_Autoload_Rule')) { require "{$dir}/class-dipo-autoload-rule.php"; } if (!class_exists('Inpsyde_Autoload')) { require "{$dir}/Inpsyde_Autoload.php"; } $this->loader = new Inpsyde_Autoload(); $rule = new Dipo_Autoload_Rule($this->plugin_dir); $this->loader->add_rule($rule); }
/** * Register default directories. * * Searches for child directories of /core/ and /pro/ and registers them * for auto-loading. * * Cannot use `GLOB_BRACE`, because that is not available on SunOS. * * @param Inpsyde_Autoload $loader * @return void */ private function load_defaults(Inpsyde_Autoload $loader) { $dirs = glob("{$this->plugin_dir}/core/*", GLOB_ONLYDIR); if (is_dir("{$this->plugin_dir}/pro")) { $pro = glob("{$this->plugin_dir}/pro/*", GLOB_ONLYDIR); $dirs = array_merge($dirs, $pro); } foreach ($dirs as $dir) { $loader->add_rule(new Inpsyde_Directory_Load($dir)); } }