class — PHP Object Dynamic Binding, существует ли такой термин?

Я знаю, что если $ var никогда не объявляется, он может быть объявлен с подобъектом, таким как $ var-> mysubvar = 1;
Но если $ var = «123» упомянуто заранее, то $ var-> mysubvar = 1 вызовет ошибку. Как объявлено заранее

Я слышал, что это было названо «Динамическое связывание». Но когда я на самом деле изучаю этот термин, я не могу найти в руководстве по PHP такого описания, которое соответствует этому сценарию и поведению.

Это поведение называется «Динамическое связывание»? Есть ли конкретное имя для этого. Но если это имя, то почему PHP Manual не включает такую ​​технику или поведение?

Вопрос заключается в том, как называется имя, описывающее такое поведение, при котором не нужно объявлять объект заранее, и объект будет автоматически создан, если объявлен подобъект. (например, javascript не позволит манипулировать объектом, не выполнив сначала var myvar = 1 (или его эквивалент).)

Ответ:
Ах да, это действительно иметь дело с динамической типизацией.
Что такое динамическая типизация?

0

Решение

Проблема, которую вы упомянули, связана с динамической типизацией, а не с динамической привязкой. PHP документация по типам переменных покрывает это.

Тип переменной обычно не устанавливается программистом; скорее, это решается во время выполнения PHP в зависимости от контекста, в котором используется эта переменная.

Причина, по которой ваши примеры генерируют ошибки, заключается в несовпадении типов.
Например, предполагая $var не установлен, выполняется $var->mysubvar = 1 создаст $var как объект. Попытка следовать этому с $var = 5 приведет к ошибке, потому что ваша предыдущая команда указала, что $var будет объект, а не скаляр.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]