Может кто-нибудь объяснить мне, почему это возможно сделать в PHP, но, например, не на C # или Java: Class A { protected $a = 'Howdy!'; } Class B extends A { public function howdy() { $created = new A(); echo $created->a; <—– This is legal due to per-class visibility } } $b = new B(); […]
Раньше я использовал ORM сопоставленные столбцы базы данных непосредственно с свойствами класса, которые позволяли вам обладать определенной видимостью свойств, так же, как вы обычно ограничивали бы доступ к определенным свойствам, например паролям. С Eloquent я не могу воспроизвести это, потому что столбцы базы данных отображаются в массив внутренних атрибутов, которые не содержат видимости. Мое желание […]
Я хочу получить доступ к частным методам и переменным извне классов в очень редких случаях. Я видел, что это невозможно, хотя интроспекция используется. Конкретный случай следующий: Я хотел бы иметь что-то вроде этого: class Console { final public static function run() { while (TRUE != FALSE) { echo "\n> "; $command = trim(fgets(STDIN)); switch ($command) […]