ベース オブジェクト CacheObject があるとします。
abstract class CacheObject {
protected static $handler = null;
public static function setCacheHandler($handler) {
static::$handler = $handler;
}
public static function getCacheHandler($handler) {
return static::$handler;
}
}
class A extends CacheObject {
}
class B extends CacheObject {
}
A::setCacheHandler('test');
var_dump(B::getCacheHandler());
Bは私に「テスト」を提供します。これは、クラスAに独自の定義済みプロパティ$handlerがないためだと思います...クラスBで共有された継承されたものを使用しています。これは正確ですか?
すべてのオブジェクト内で $handler を宣言する必要なく、実際にそれらを個別に設定する方法はありますか?