Магические методы php __get

Я новичок в PHP. В приведенном ниже коде, когда я меняю частный $name на общедоступный $name, имя «Гарри» не отображается. Я не могу этого понять.

class Post{
public $name;
    public function __set($name,$value){
        echo $this->name=$value;
    }
}
$post=new Post;
$post->name = "Harry";

какое это имеет отношение к __get?

Devon 21.07.2018 20:11
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
41
1

Ответы 1

Магические геттеры и сеттеры используются только тогда, когда свойство не существует или недоступно, это называется перегрузкой свойства.

Поскольку private $name недоступен извне класса, он использует ваш магический сеттер. Поскольку public $name доступен извне класса, он просто установит значение этого свойства.

Другие вопросы по теме