いくつかの静的関数 (正常に動作するものを使用してそれ自体の新しいインスタンスを返す) を持つ抽象クラスがありますnew static($args)
が、クラス名を取得する方法がわかりません。私は置くことを避けようとしています
protected static $cn = __CLASS__;
しかし、やむを得ない場合、それは世界の終わりではありません
abstract class ExtendableObject {
static function getObject() {
return new static($data);
}
static function getSearcher() {
return new ExtendableObjectFinder(/* CLASS NAME CLASS */);
}
}
class ExtendableObjectFinder {
private $cn;
function __construct($className) {
$this->cn = $className;
}
function where($where) { ... }
function fetch() { ... }
}