本文整理汇总了PHP中APP::setGlobal方法的典型用法代码示例。如果您正苦于以下问题:PHP APP::setGlobal方法的具体用法?PHP APP::setGlobal怎么用?PHP APP::setGlobal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类APP
的用法示例。
在下文中一共展示了APP::setGlobal方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Initialize
/**
* Inicia a aplicação
* @param array $APPConfig
* @param string $PublicPath
*/
static function Initialize(array $APPConfig, $PublicPath = 'public_html')
{
APP::setGlobal('public_path', $PublicPath);
$Action = $Controller = null;
self::$APP_CONFIG = $APPConfig;
self::$Modules = isset(self::$APP_CONFIG['modules']) ? self::$APP_CONFIG['modules'] : self::$APP_CONFIG;
self::$DefaultModule = key(self::$Modules);
# URL Variables
$values = !empty($_GET['GET_VARS']) ? explode('/', strtolower($_GET['GET_VARS'])) : [self::$DefaultModule, 'index', 'index'];
# Modulo
if (isset(self::$Modules[$values[0]])) {
self::$CurrentModule = $values[0];
unset($values[0]);
$values = array_values($values);
} else {
self::$CurrentModule = self::$DefaultModule;
}
# Controller
if (empty($values[0]) or controller_exists(strtolower($values[0])) === false) {
$Controller = 'index';
} else {
$Controller = $values[0];
unset($values[0]);
$values = array_values($values);
}
# Action
if (empty($values[0]) and controller_action_exists($Controller, 'index')) {
$Action = 'indexAction';
} else {
if (empty($values[0]) or !($Action = controller_action_exists($Controller, $values[0]))) {
self::$Parans['action'] = strtolower(@$values[0]);
$Action = 'notFoundPage';
} else {
unset($values[0]);
$values = array_values($values);
}
}
# Parâmetros númericos
self::$Parans = $values;
# Parâmetros nomeados
if (count(self::$Parans) > 1) {
for ($i = 0; $i < count($values); $i += 2) {
if (isset($values[$i + 1])) {
self::$Parans[$values[$i]] = $values[$i + 1];
}
}
}
# Modulo
if (!isset(self::$Parans['module'])) {
self::$Parans['module'] = APP::getCurrentModule();
}
# Controller
if (!isset(self::$Parans['controller'])) {
self::$Parans['controller'] = APP::getControllerName();
}
# Action
if (!isset(self::$Parans['action'])) {
self::$Parans['action'] = $Action;
}
# Valores GET
if (preg_match('/\\?/', inputServer('REQUEST_URI'))) {
parse_str(preg_replace('/.*\\?/', NULL, inputServer('REQUEST_URI')), $getValues);
foreach ($getValues as $key => $value) {
$_GET[$key] = $value;
if (!isset(self::$Parans[$key])) {
self::$Parans[$key] = $value;
}
}
}
# Action
self::$Action = $Action;
# Cria instancia do modulo
if (file_exists($ModuleClass = ABSPATH . '/' . self::getCurrentModule(true) . '/Module.class.php')) {
file_include($ModuleClass);
self::$Module = new Module();
}
# Executando a action
self::setController($Controller);
self::getController()->{$Action}();
}
示例2: LogOut
/**
* Desloga o usuário do nível informado
* @param string $Nivel
*/
function LogOut($Nivel = null)
{
$key = "UsersModelLoged_{$Nivel}";
APP::setGlobal($key, null);
(new Session($key))->destroy();
}
示例3: get_all_paths
/**
* Retorna todas as pasta para o include
* @return array
*/
function get_all_paths()
{
# Pega o valor já gravado
if (APP::getGlobal('get_all_paths')) {
return APP::getGlobal('get_all_paths');
}
# Pastas do sistema
$Paths = ['', 'system', 'system/core', 'system/crud', 'system/helpers', 'system/helpers/Bootstrap', 'system/models', 'system/libraries', 'system/models', 'system/valueobject'];
# Não possuí cache listando pastas
if (!APP::getCurrentModule()) {
return $Paths;
} else {
$Paths = array_merge([APP::getCurrentModule(true)], list_paths(APP::getCurrentModule(true)), $Paths);
$module = APP::getModules()[APP::getCurrentModule()];
$general = is_array(get_config('library')) ? get_config('library') : [];
if (is_array($module)) {
foreach (['library'] as $key => $value) {
if (is_array($value)) {
$general = array_merge($general, $value);
} else {
$general[] = $value;
}
}
}
foreach ($general as $key => $path) {
$Paths = array_merge([$path], list_paths($path), $Paths);
}
APP::setGlobal('get_all_paths', $Paths);
return $Paths;
}
}