سلام
زمانی که ما یک constructor تعریف میکنیم باید access modifier اون رو public قرار بدیم. اینجوری از بیرون از کلاس ما میتونیم اون رو مثل یک متد صدا بزنیم و propertyها رو تغییر بدیم:
class Person
{
private $name;
public function __construct($name)
{
$this->name = $name;
}
public function getName()
{
return $this->name;
}
}
$p1 = new Person('Mehdi');
$p1->__construct('Reza');
echo $p1->getName();
# Output:
# Reza
آیا ما باید جلوی همچین چیزی رو بگیریم؟ اگر آره چجوری؟