godsplan, ну кстати да, VoidVolker прав же: в моменте - пожалуйста, резвись кто хочет. А потом и подчистить можно.
Другое дело что эти призывы к модератору - это лукавство. Так-то автор может и сам легко весь срач прекратить :)
Natalia Baženova, ну, мы не спорим же, а обмениваемся мнениями :)
На мой взгляд, именно с предварительной подготовкой будет спагетти, когда одному слою приложения нужно будет знать, чем занимается другой. Если Контроллер отдаёт во Вид данные, то это уже забота вью, как их форматировать.
И нет, внутри вью, но всё равно заранее, отформатировать тоже не удастся:
- во-первых, данные могут приходить в моделях, с доступом только на чтение.
- во-вторых, даже в пределах вью, форматирование может быть разным:
Natalia Baženova, не могли бы вы чуть развёрнутее пояснить свою мысль? На мой взгляд, htmlspecialchars - это и есть та самая специально предусмотренная функция.
И не очень понятно, зачем форматировать выводимые данные заранее, а также насколько сильно заранее? перед сохранением в БД? После получения из БД? Перед началом вывода?
Сергей Сахаров, извините, но это какая-то глупость. Вы действительно собираетесь запускать какой-то постпроцессор, серьёзно? И это ради того, лишь бы не пользоваться шаблонизаторами? Выглядит как какой-то детский лепет, "назло мамке отморожу уши". То есть sed или постоянно дергать поиск/замену - "нужно" усложняют процесс, а шаблонизатор - ненужно?
Я понимаю, вы сейчас в яме с Даннингом и Крюгером, и действительно не понимаете важности и удобства шаблонизаторов. Это нормально, все через этот этап проходят. Но я сейчас не об этом, а о том, что свои реплики надо ну хотя бы минимально на осмысленность проверять.
это я так понимаю, чтобы в переменные левых данных не подсунули
Это чтобы любая кавычка не устроила армегаддон. Когда вы натягиваете презерватив, очень желательно чтобы на нём была смазка, иначе нерпиятные ощущения и нежелательные последствия гарантированы. Это просто правило - презерватив и смазка всегда идут парой. Так же и здесь: если мы выводим что-то внутри HTML страницы, то это что-то должно соответствовать стандартам HTML, чтобы не перекорёжить вёрстку. Ну и так же чтобы у нас не покрали куки с авторизацией, но это уже частный случай. Независимо от причин, вывод и htmlspecialchars идут парой.
Natalia Baženova, есть небольшая проблема. В РНР так не пишут. А пишут <?= htmlspecialchars($param) ?>. А это, согласитесь, уже сложнее, чем {{ param }}
Алексей Уколов, для известного количества массивов я с вами на 100% согласен. Но для неизвестного... Можно, конечно, нагородить с запасом штук 10, и выходить по continue когда вложенность кончается. Но это будет выглядеть уже не меньшей хтонью, чем любой из кодов ниже :)
nokimaro, дебильный try-catch надо всё-таки убрать.
У автора свой колхоз, ему это не нужно. А другим читателям, ищущим правильное подключение к базе данных из класса - и подавно незачем.
Другое дело что эти призывы к модератору - это лукавство. Так-то автор может и сам легко весь срач прекратить :)