Version 0.9.5 beta - update for the autoloading and a bugfix for the registry, also the dispatcher checks for the file before loading now.
This commit is contained in:
@@ -72,6 +72,8 @@ class Autoloader
|
|||||||
{
|
{
|
||||||
(bool) $skip = false;
|
(bool) $skip = false;
|
||||||
(array) $normal = array();
|
(array) $normal = array();
|
||||||
|
(array) $first = array();
|
||||||
|
(array) $sorted = array();
|
||||||
if($section == self::SETTINGS_CLASS_POS)
|
if($section == self::SETTINGS_CLASS_POS)
|
||||||
{
|
{
|
||||||
$moduleSortOrder = Config::getInstance()->getConfig()[self::SETTINGS_SECTION][self::SETTINGS_CLASS_POS];
|
$moduleSortOrder = Config::getInstance()->getConfig()[self::SETTINGS_SECTION][self::SETTINGS_CLASS_POS];
|
||||||
@@ -109,7 +111,7 @@ class Autoloader
|
|||||||
$skip = false;
|
$skip = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(array_key_exists(0, $first))
|
if(is_array($first) && array_key_exists(0, $first))
|
||||||
{
|
{
|
||||||
$sorted = array();
|
$sorted = array();
|
||||||
foreach($moduleSortOrder as $item)
|
foreach($moduleSortOrder as $item)
|
||||||
@@ -170,14 +172,21 @@ class Autoloader
|
|||||||
* @param string $moduleName
|
* @param string $moduleName
|
||||||
* @return \RecursiveIteratorIterator
|
* @return \RecursiveIteratorIterator
|
||||||
*/
|
*/
|
||||||
private static function folderContent( string $folderPath, string $moduleName = '' ): \RecursiveIteratorIterator
|
private static function folderContent( string $folderPath, string $moduleName = '' ): ?\RecursiveIteratorIterator
|
||||||
{
|
{
|
||||||
if(strstr($folderPath, self::REGEX_PATH_NAME) && $moduleName!="")
|
if(strstr($folderPath, self::REGEX_PATH_NAME) && $moduleName!="")
|
||||||
{
|
{
|
||||||
$folderPath = str_replace(self::REGEX_PATH_NAME, $moduleName, $folderPath);
|
$folderPath = str_replace(self::REGEX_PATH_NAME, $moduleName, $folderPath);
|
||||||
}
|
}
|
||||||
|
if(is_dir($folderPath))
|
||||||
|
{
|
||||||
return new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator( $folderPath ));
|
return new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator( $folderPath ));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param array $filesInFoler
|
* @param array $filesInFoler
|
||||||
@@ -223,6 +232,8 @@ class Autoloader
|
|||||||
foreach($moduleInterfaceNames as $interfaceName)
|
foreach($moduleInterfaceNames as $interfaceName)
|
||||||
{
|
{
|
||||||
$iterator = self::folderContent(__DIR__ . Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::INTERFACE_FOLDER], $interfaceName);
|
$iterator = self::folderContent(__DIR__ . Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::INTERFACE_FOLDER], $interfaceName);
|
||||||
|
if(sizeof($iterator)>0)
|
||||||
|
{
|
||||||
foreach ($iterator as $item)
|
foreach ($iterator as $item)
|
||||||
{
|
{
|
||||||
if($item->getFileName() != self::MY_FILE_NAME && $item->getFileName() != "." && $item->getFileName() != ".." && strstr($item->getFileName(), self::PHP_FILE_EXTENSION))
|
if($item->getFileName() != self::MY_FILE_NAME && $item->getFileName() != "." && $item->getFileName() != ".." && strstr($item->getFileName(), self::PHP_FILE_EXTENSION))
|
||||||
@@ -233,6 +244,7 @@ class Autoloader
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if(is_array($interfaces))
|
if(is_array($interfaces))
|
||||||
{
|
{
|
||||||
asort($interfaces);
|
asort($interfaces);
|
||||||
@@ -302,7 +314,7 @@ class Autoloader
|
|||||||
}
|
}
|
||||||
$modulesPluginsNames = Config::getInstance()->getConfig()[self::SETTINGS_SECTION][self::SETTINGS_CLASS_POS];
|
$modulesPluginsNames = Config::getInstance()->getConfig()[self::SETTINGS_SECTION][self::SETTINGS_CLASS_POS];
|
||||||
$pluginNames = Config::getInstance()->getConfig()[self::SETTINGS_SECTION][self::SETTINGS_CLASS_PLUGIN_POS];
|
$pluginNames = Config::getInstance()->getConfig()[self::SETTINGS_SECTION][self::SETTINGS_CLASS_PLUGIN_POS];
|
||||||
|
$plugins = [];
|
||||||
foreach($modulesPluginsNames as $pluginsName)
|
foreach($modulesPluginsNames as $pluginsName)
|
||||||
{
|
{
|
||||||
$iterator = self::folderContent(__DIR__ . Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::PLUGINS_FOLDER], $pluginsName );
|
$iterator = self::folderContent(__DIR__ . Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::PLUGINS_FOLDER], $pluginsName );
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ final class Dispatcher
|
|||||||
Router::getInstance();
|
Router::getInstance();
|
||||||
Router::getInstance()->route();
|
Router::getInstance()->route();
|
||||||
Autoloader::getInstance()->runRequireOnce();
|
Autoloader::getInstance()->runRequireOnce();
|
||||||
|
if(is_file(__DIR__ . '/../../application/controller/' . Router::getInstance()->tplName() . 'Controller.php'))
|
||||||
|
{
|
||||||
require_once __DIR__ . '/../../application/controller/' . Router::getInstance()->tplName() . 'Controller.php';
|
require_once __DIR__ . '/../../application/controller/' . Router::getInstance()->tplName() . 'Controller.php';
|
||||||
$class = "Nibiru\\".\Nibiru\Router::getInstance()->tplName()."Controller";
|
$class = "Nibiru\\".\Nibiru\Router::getInstance()->tplName()."Controller";
|
||||||
$controller = new $class();
|
$controller = new $class();
|
||||||
@@ -59,3 +61,4 @@ final class Dispatcher
|
|||||||
Display::getInstance()->display();
|
Display::getInstance()->display();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
@@ -70,6 +70,8 @@ final class Registry
|
|||||||
{
|
{
|
||||||
$module = new \stdClass();
|
$module = new \stdClass();
|
||||||
$module_settings = parse_ini_file($settings->getPathName(), true);
|
$module_settings = parse_ini_file($settings->getPathName(), true);
|
||||||
|
if(array_key_exists(strtoupper($this->getModuleName()), $module_settings))
|
||||||
|
{
|
||||||
foreach ($module_settings[strtoupper($this->getModuleName())] as $key=>$value)
|
foreach ($module_settings[strtoupper($this->getModuleName())] as $key=>$value)
|
||||||
{
|
{
|
||||||
$module->$key = $value;
|
$module->$key = $value;
|
||||||
@@ -78,6 +80,7 @@ final class Registry
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string
|
* @return string
|
||||||
|
|||||||
Reference in New Issue
Block a user