Я начал изучать ОО несколько дней назад, я вполне в порядке с процедурным кодированием, но, очевидно, этого недостаточно, и я хочу стать хорошо осведомленным программистом с большим опытом и знаниями, поэтому прежде всего нужно полностью изучитьДолжно быть, ОО, за которым следуют правильные шаблоны проектирования.
Во всяком случае, у меня есть одна вещь, в которой я застрял, которой я не совсем следую ...
Статические переменные ...Я понимаю, что статическая переменная не теряет своего значения, даже если содержащая функция завершена, и сохраняет свое значение, если та же функция выполняется снова, снова и т. Д. И т. Д.
Но что я не делаю?не понимаю, что именно вы можете теперь назначить статической переменной?В руководстве, а также в бесчисленном множестве вопросов о состоянии стекового потока вы не можете назначить выражение статической переменной.
Итак, я прочитал руководство по PHP, чтобы выяснить, что именно считается выражением?Ответ руководства (и я цитирую):
"В PHP почти все, что вы пишете, является выражением. Самый простой, но самый точный способ определить выражение - это" все, что имеет значение "."
"Когда вы набираете« $ a = 5 », вы присваиваете« 5 »в $ a.« 5 », очевидно, имеет значение 5, или, другими словами,« 5 »является выражением»
http://php.net/manual/en/language.expressions.php
Теперь, когда вы читаете о области действия переменной в руководстве, у них есть именно такой пример:
function test()
{
static $a = 0;
echo $a;
$a++;
}
Итак, в руководстве по областям действия переменной указано static $ a= 0;хорошо, в то время как руководство по выражениям говорит, что $ a = 5, было бы выражением.По сути, это одно и то же, просто 0 вместо 5 ...
Так что я сейчас немного растерялся.
Что такое выражение сейчас, и что именно я могу илия не могу назначить статические переменные?:)