Я создаю базовую структуру в 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'];