<?php
include 'global.php';
class Config {
public static function login($path=null){
if($path){
$config=$GLOBALS['config'];
$path=explode('/',$path);
foreach($path as $bit ) {
if($config[$bit]){
$config=$config[$bit];
}
}
return $config;
}
return false;
}
}
,全局数组为
<?php
session_start();
$GLOBALS['config']=array(
'mysql'=>array(
'host'=>'localhost',
'username'=>'root',
'password'=>'',
),
'session'=>array(
'username'=>'user',
'user_logged'=>'logged_in'
),
'status'=>array(
'login'=>'true',
)
);
spl_autoload_register( function($class){
include 'classes/' .$class. '.php';
});
我需要访问全局数组中的元素。但我不明白他们是怎么做到的……有人能帮我一下吗?如何为web应用程序设计选择设计模式?
PHP有一个名为$GLOBALS的全局值数组;这个"超全局"变量无需声明就可以在任何地方使用。代码引用$GLOBALS['config']来初始化和读取该值。
http://php.net/manual/en/reserved.variables.globals.php在非全局上下文中(即在函数中)使用$GLOBALS['config']的另一种选择是使用global关键字将其拉入作用域:
public static function login($path=null){
global $config;
if($path){
$path=explode('/',$path);
foreach($path as $bit ) {
if($config[$bit]){
$config=$config[$bit];
}
}
return $config;
}
return false;
}