私はId
抽象クラスを継承するクラスUser
を持っています。どういうわけかEvent
という別のクラスを紹介し、Id
クラスも拡張します。 __construct()
のメソッドは非常に似ているので、コンストラクタコードをId
クラスに入れたいと思います。ここで親レベルでのPHP設定値
は私__construct()
方法である:私はId
クラスにメソッドを置けば
class Event extends Id
{
public function __construct($id, $object){
$this->id = $id;
foreach($object as $property => $value) {
if (property_exists($this, $property)) $this->$property = $value;
}
}
}
class User extends Id
{
public function __construct($id, $object){
$this->id = $id;
foreach($object as $property => $value) {
if (property_exists($this, $property)) $this->$property = $value;
}
}
}
しかし、PHPは$this->$property = $value;
で私に警告します。 Id
クラスでは開始できないように、User
またはEvent
クラスにprivate
と記載されている属性がいくつかあります。
私が欲しいのは、これらの変数をprivate
維持しながら、私のコードを再利用することである