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'];