# AlkatraZ (09.03.2017 / 14:24)
Далее, для разработчиков ты публикуешь правила.
Лучше ограничивать разработчиков программно, а не словесно. Разработчики любят не придерживаться правил ради "быстрой и легкой" разработки, а если решение вообще не позволяет обойти правила, то уже ничего не поделаешь, приходится им следовать.
В случае объектного подхода, получается чрезвычайно удобно и данный путь более предпочтителен, чем простые массивы, или переменные.
Дело в том, что потом, в реальном приложении, когда оно станет довольно большим, ты фиг разберешься, откуда берется переменная и через некоторое время (когда забудешь) у тебя возникают сложности с поддержкой своего же кода.
А когда ты передаешь инстанс ArrayObject, потом в IDE очень легко и наглядно отслеживаются источники всех переменных. Даже через несколько лет, вернувшись к приложению, ты легко сопоставишь что к чему и откуда что берется.
# Delphinum (09.03.2017 / 14:28)
Лучше ограничивать разработчиков программно, а не словесно.
Ну как я писал выше - объектный подход.
В шаблоне не составит труда дописать строчку и проверить instanceof и никто не скормит шаблону какие-то левые переменные.
AlkatraZ, объекты это слишком сложно, для статей проекта "Минимум" )
AlkatraZ, задачу для следующей статьи предлагай )
# Delphinum (09.03.2017 / 14:30)
AlkatraZ, объекты это слишком сложно, для статей проекта "Минимум" )
Да, для простейшего варианта вполне достаточно и то, что ты предложил.
Для сайта с минимумом посещалки, нагрузкой на ob_start() вполне можно пренебречь.
---
Однако тогда объясни мне: как ты собираешься передавать переменные в дочерние шаблоны. которые вызываются из материнского?
# AlkatraZ (09.03.2017 / 14:33)
Однако тогда объясни мне: как ты собираешься передавать переменные в дочерние шаблоны. которые вызываются из материнского?
<?= template('дочка.html', ['foo' => 'bar']) ?>
# Delphinum (09.03.2017 / 14:35)
<?= template('дочка.html', ['foo' => 'bar']) ?>
Это да, но откуда берется эта переменная? Ты ее будешь передавать в родительский шаблон, а потом уже в нем передавать в дочерний?
AlkatraZ, да. Либо она будет формироваться в родительском шаблоне. Это не кошерно конечно, но что поделать )
# Delphinum (09.03.2017 / 14:38)
Это не кошерно конечно, но что поделать )
Ну а я о чем
Это не просто некошерно, а выглядит крайне по быдлокодерски.
Посему. подобного желательно избегать.
В реальном приложении появится сильная путаница и головная боль для кодера.