Скажем, у нас есть класс, как это:Как настроить видимость элементов при их динамическом назначении?
class X {
public static function create ($a, $b) {
$x = new X();
$x->$a = $b;
return $x;
}
}
create()
назначает члена динамически. Однако этот участник является общедоступным:
>>> X::create("name", "Robert")
=> X {#93
+"name": "Robert",
}
>>> $x->name
=> "Robert"
Есть ли способ сделать этот элемент защищенным или закрытым?
(В моем случае использования, члены указаны позже, как и в предыдущем случае, так, объявляя protected $some_var;
наверху не поможет.)
Вы не можете. Объясняя, почему вы хотите (то, что вы делаете, а не то, как вы пытались решить проблему), вероятно, укажет на другое решение. – AD7six