我正在用 PHP 创建一个基本框架。我需要将当前页面的数据传递给不同的函数,让它们修改并保存,然后再传递回要显示的页面。我最初计划将数据存储在全局变量中$GLOBALS['data']
,但我开始认为使用全局变量是个坏主意。所以我在想,我会在系统类中放置一个静态变量,并使用system::$data
. 所以,我的问题是,哪个会更好,为什么?
这:
$GLOBALS['data'] = array();
$GLOBALS['data']['page_title'] = 'Home';
echo $GLOBALS['data']['page_title'];
或这个:
class system
{
public static $data = array()
}
function data($new_var)
{
system::$data = array_merge(system::$data, $new_var);
}
data(array('page_title' => 'Home'));
echo system::$data['page_title'];