Version 0.9.5 beta - update for the autoloading and a bugfix for the directory iterators, also the dispatcher checks for the action before loading it now.

This commit is contained in:
Stephan Kasdorf
2020-01-06 11:42:01 +01:00
parent 12288f52df
commit dc45ffb6ec
2 changed files with 37 additions and 22 deletions

View File

@@ -205,23 +205,29 @@ class Autoloader
foreach ( Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::DB_MODEL_FOLDER] as $modelfolder ) foreach ( Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::DB_MODEL_FOLDER] as $modelfolder )
{ {
$iterator = self::folderContent( __DIR__ . $modelfolder ); $iterator = self::folderContent( __DIR__ . $modelfolder );
foreach ( $iterator as $item ) if($iterator!=null)
{ {
if($item->getFileName()!= self::MY_FILE_NAME && $item->getFileName()!="." && $item->getFileName()!=".." && strstr($item->getFileName(), self::PHP_FILE_EXTENSION)) foreach ($iterator as $item)
{ {
self::$_filesInFoler[] = $item->getPathName(); if ($item->getFileName() != self::MY_FILE_NAME && $item->getFileName() != "." && $item->getFileName() != ".." && strstr($item->getFileName(), self::PHP_FILE_EXTENSION))
{
self::$_filesInFoler[] = $item->getPathName();
}
} }
} }
} }
} }
else else
{ {
$iterator = self::folderContent(__DIR__ . Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::DB_MODEL_FOLDER] ); $iterator = self::folderContent(__DIR__ . Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::DB_MODEL_FOLDER]);
foreach ( $iterator as $item ) if($iterator != null)
{ {
if($item->getFileName()!= self::MY_FILE_NAME && $item->getFileName()!="." && $item->getFileName()!=".." && strstr($item->getFileName(), self::PHP_FILE_EXTENSION)) foreach ($iterator as $item)
{ {
self::$_filesInFoler[] = $item->getPathName(); if ($item->getFileName() != self::MY_FILE_NAME && $item->getFileName() != "." && $item->getFileName() != ".." && strstr($item->getFileName(), self::PHP_FILE_EXTENSION))
{
self::$_filesInFoler[] = $item->getPathName();
}
} }
} }
} }
@@ -232,9 +238,9 @@ 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) if($iterator!=null)
{ {
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))
{ {
@@ -262,14 +268,17 @@ class Autoloader
foreach($modulesTraitsNames as $traitsName) foreach($modulesTraitsNames as $traitsName)
{ {
$iterator = self::folderContent(__DIR__ . Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::TRAIT_FOLDER], $traitsName ); $iterator = self::folderContent(__DIR__ . Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::TRAIT_FOLDER], $traitsName );
foreach ( $iterator as $item ) if($iterator!=null)
{ {
if($item->getFileName()!= self::MY_FILE_NAME && $item->getFileName()!="." && $item->getFileName()!=".." && strstr($item->getFileName(), self::PHP_FILE_EXTENSION)) foreach ( $iterator as $item )
{ {
$traits[] = array( if($item->getFileName()!= self::MY_FILE_NAME && $item->getFileName()!="." && $item->getFileName()!=".." && strstr($item->getFileName(), self::PHP_FILE_EXTENSION))
'nfilename' => str_replace('.php', '', $item->getFileName()), {
'filepathname' => $item->getPath() . '/' . $item->getFileName() $traits[] = array(
); 'nfilename' => str_replace('.php', '', $item->getFileName()),
'filepathname' => $item->getPath() . '/' . $item->getFileName()
);
}
} }
} }
if(is_array($traits)) if(is_array($traits))
@@ -289,14 +298,17 @@ class Autoloader
foreach($modulesClassNames as $className) foreach($modulesClassNames as $className)
{ {
$iterator = self::folderContent(__DIR__ . Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::MODULE_FOLDER], $className ); $iterator = self::folderContent(__DIR__ . Config::getInstance()->getConfig()[View::NIBIRU_SETTINGS][self::MODULE_FOLDER], $className );
foreach ( $iterator as $item ) if($iterator!=null)
{ {
if($item->getFileName()!= self::MY_FILE_NAME && $item->getFileName()!="." && $item->getFileName()!=".." && strstr($item->getFileName(), self::PHP_FILE_EXTENSION)) foreach ( $iterator as $item )
{ {
$modules[] = array( if($item->getFileName()!= self::MY_FILE_NAME && $item->getFileName()!="." && $item->getFileName()!=".." && strstr($item->getFileName(), self::PHP_FILE_EXTENSION))
'nfilename' => str_replace('.php', '', $item->getFileName()), {
'filepathname' => $item->getPath() . '/' . $item->getFileName() $modules[] = array(
); 'nfilename' => str_replace('.php', '', $item->getFileName()),
'filepathname' => $item->getPath() . '/' . $item->getFileName()
);
}
} }
} }
if(is_array($modules)) if(is_array($modules))

View File

@@ -48,7 +48,10 @@ final class Dispatcher
{ {
$action = $_REQUEST['_action']."Action"; $action = $_REQUEST['_action']."Action";
$controller->navigationAction(); $controller->navigationAction();
$controller->$action(); if(method_exists($controller, $action))
{
$controller->$action();
}
$controller->pageAction(); $controller->pageAction();
} }
else else