У меня есть класс User
, расширяющий класс абстрактных классов Id
. Как-то я представим еще один класс под названием Event
, расширяющий класс Id
. Методы __construct()
очень похожи, поэтому я хочу поместить код конструктора в класс Id
.значения установки php на уровне родителей
Вот мой __construct()
метод:
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;
}
}
}
Однако, если я поставил метод в классе Id
, PHP предупреждает меня в $this->$property = $value;
. В нем указано, что у меня есть некоторые атрибуты, указанные private
в классе User
или Event
, так что он не может быть инициирован в классе Id
.
То, что я хочу, чтобы повторно использовать свой код, сохраняя при этом эти переменные private