PHPはリクエストベースであるため、オブジェクトを初期化する場合、とにかくリクエストごとに再作成されるため、大きな違いはありませんが、グローバルを使用することは悪い習慣と見なされ、新しいコードIMOでは使用しないでください。
2番目の例のように構成クラスを作成することをお勧めしますが、コード内の複数の場所で構成クラスが必要な場合は、毎回新しいインスタンスを作成するのではなく、依存性注入またはシングルトンパターンを使用してください。
シングルトン:
public class Config
{
protected static $instance;
public static Instance()
{
if(self::instance === null)
self::instance = new Config(self::key);
return self::instance;
}
private static $key = "213453452";
public function __construct($key)
{
if($key !== self::key)
throw new InvalidArgumentException("Private Constructor");
}
//your config
}
依存性注入(簡単な例):
public class MyClass
{
protected $config;
public __construct($config)
{
$this->config = $config;
}
public function DoWork()
{
$subClass = new MySubClass($this->config);
//To Stuff
}
}
$config = new Config();
$myClass = new MyClass($config);
$myClass->DoWork();