|
|
|
|
|
для: Trianon
(04.01.2010 в 16:58)
| | >Исходник - это то, что пишет, читает и правит человек. Вот о такой.
А разве не он же пишет HTML? Тот же исходник.
Что касается цвета - зависит от редактора. Нормальный редактор подсвечивает не только PHP, но и HTML, если тот представлен в виде гипертекста, а не в виде исходного текста для конструкции echo. Так что по хорошему вариант с переходами разбора читабельнее, чем куча echo. А если это простой редактор, без подсветки, то никакой разницы - нет там красного, все черное.
Так что игра стоит свеч. Причин несколько.
1. Читабельность исходного кода в редакторе с подсветкой html.
2. Простая стилизация и как следствие - читабельность результирующего кода в браузере
3. Скорость генерации.
Единственно, где этот вариант явно проиграет, это при экономии трафика и выдаче html одной строкой. Что актуально только на оооочень больших нагрузках. Но опять же при больших нагрузках стоит задуматься и о ресурсах сервера, а значит и неоптимальности варианта с последовательным вызовом echo.
>Потому как разработка и сопровождение станут процесс останавливать.
Ну смотря как это все организовать. Ничего пока нативные шаблоны не остановили. | |
|
|
|
|
|
|
|
для: Николай2357
(04.01.2010 в 16:09)
| | >Если нет разделения бизнесс-логики и представления, то о какой исходности идет речь?
Исходник - это то, что пишет, читает и правит человек. Вот о такой.
>И уж коли на то пошло, чем это читабельнее этого:
Практически ничем. Кроме разве тем, что данные отделены лексически от кода.
>Тем что в первом варианте html красный, а во втором - черный?
а подсветка это показывает.
>можно спокойно ответить:
>"Плохо. echo, будучи несколько раз последовательно вызванным, будет тормозить процесс."
И тут уже придется добавить - если вызывать echo 1 раз - станет отвратительно.
Потому как разработка и сопровождение станут процесс останавливать.
>Справедливости ради нужно отметить, что не особо.
Вот и стоит дли игра свеч? | |
|
|
|
|
|
|
|
для: Trianon
(04.01.2010 в 15:28)
| | >Это верно. Но тогда сперва придется отмести, как несущественный, вопрос о стилевом оформлении исходного текста.
А вот и нет. Вопрос был задан именно в ключе выбора стиля, а не сравнения существующих. Было бы странно предположить, что он уже имеет устоявшийся собственный стиль и задает подобного рода вопрос. И интересуют его разные стороны. Как читабельность, так и скорость интерпретации.
В таком разрезе я считаю совсем не лишним показать еще один вариант.
>В том-то и суть, что автор базового примера (вернее стилевого паттерна), этот вопрос полагал в высшей степени важным, считая скорость интерпретации вторичной (если не более низкого порядка) проблемой.
Если нет разделения бизнесс-логики и представления, то о какой исходности идет речь? Это просто код и границы стилей и читабельности тут весьма прозрачны.
Особенно в примере (03.01.2010 в 22:51)
Если о стилизации PHP говорить можно, то результирующий код будет представвлен полной кашей.
А если это сделано в целях экономии трафика клиента, то зачем там пробелы? Померла так померла, все равно это не разметка. И echo вызывать стопицот раз - это читабельно? Тогда уж и впрямь интереснее с конкатенацией.
>Вообще без echo придется помещать голый выходной код в файл исходного текста.
Исходный текст перестанет быть не то что читабельным, а таковым (исходным) вообще.
Это тоже весьма субъективно и спорно. Покажите пожалуйста стандарт, который регламентирует "исходный" код. И уж коли на то пошло, чем это
<?php
echo "<table><tr><td>&bnsp;</td></tr></table>";
?>
|
читабельнее этого:
?>
<table><tr><td>&bnsp;</td></tr></table>
<?php
| ? Тем что в первом варианте html красный, а во втором - черный?
Я бы мог понять, если бы текст вывода формировался гдето в функциях и выдавался бы не echo а return... Но тут то простое, прямое формирование вывода. Так к чему эти танцы с бубном, если можно к разметке применить стиль разметки, а к php стиль php?
Тогда и на это:
>А IceGhost спросил - а как оно по скорости?
>Ответ: А никак. К нему и требований-то таких не ставят.
можно спокойно ответить:
"Плохо. echo, будучи несколько раз последовательно вызванным, будет тормозить процесс."
Справедливости ради нужно отметить, что не особо. | |
|
|
|
|
|
|
|
для: Николай2357
(04.01.2010 в 15:09)
| | >Вообще то я не знаю, чем руководствовался автор данного кода, специально он игнорировал пробелы или это по недосмотру (сам стиль заставляет задуматься об этом).
Автор не игнорировал пробелы.
Автор наоборот применил их для формирования отступов в исходном тексте программы.
Сделал он это намеренно, руководствуясь соглашениями о стиле, вполне понятном.
В коде автора нет ни малейшего люфта недосмотра или неаккуратности.
>Но вопрос задал не автор кода,
Конечно.
>и вопрос недвузначный:
совршенно однозначный.
>
>IceGhost (03.01.2010 в 22:06)
>В phpbb3 очень любят делать подобным образом:
>
<?php
> echo "<table>";
> echo "<tr>";
> echo "<td>";
> echo " ";
> echo "</td>";
> echo "</tr>";
> echo "</table>";
>?>
|
>Что думаете по этому поводу?
>Сильно ли отличается по скорости интерпретирования такая реализация от одного echo:
>
<?php
> echo "<table><tr><td>&bnsp;</td></tr></table>";
>?>
|
>
>Я просто напомнил, что в данном случае корректнее вообще обойтись без echo.
Это верно. Но тогда сперва придется отмести, как несущественный, вопрос о стилевом оформлении исходного текста.
В том-то и суть, что автор базового примера (вернее стилевого паттерна), этот вопрос полагал в высшей степени важным, считая скорость интерпретации вторичной (если не более низкого порядка) проблемой. А IceGhost спросил - а как оно по скорости?
Ответ: А никак. К нему и требований-то таких не ставят.
Вообще без echo придется помещать голый выходной код в файл исходного текста.
Исходный текст перестанет быть не то что читабельным, а таковым (исходным) вообще. | |
|
|
|
|
|
|
|
для: Trianon
(04.01.2010 в 14:57)
| | Вообще то я не знаю, чем руководствовался автор данного кода, специально он игнорировал пробелы или это по недосмотру (сам стиль заставляет задуматься об этом). Но вопрос задал не автор кода, и вопрос недвузначный:
IceGhost (03.01.2010 в 22:06)
В phpbb3 очень любят делать подобным образом:
<?php
echo "<table>";
echo "<tr>";
echo "<td>";
echo " ";
echo "</td>";
echo "</tr>";
echo "</table>";
?>
|
Что думаете по этому поводу?
Сильно ли отличается по скорости интерпретирования такая реализация от одного echo:
<?php
echo "<table><tr><td>&bnsp;</td></tr></table>";
?>
|
Я просто напомнил, что в данном случае корректнее вообще обойтись без echo. | |
|
|
|
|
|
|
|
для: Николай2357
(04.01.2010 в 14:51)
| | Не забывайте, что скорость совокупного процесса определяется не только генерацией кода, но еще и пропускной способностью канала.
А еще есть требования к ресурсам памяти на клиентской стороне, тоже нарушенные таким подходом.
Автор, который написал исходный вариант, очевидно, ставил некоторую цель.
Вариант с пробелами в сгенерированном коде эту цель низлагает.
Кстати есть еще один вариант.
echo ''
.'1'
.'2'
.'3'
.'4'
;
|
| |
|
|
|
|
|
|
|
для: Trianon
(04.01.2010 в 14:42)
| | Пусть неправомочно, неточно, но корректно и вполне наглядно. Если бы результат был бы не в пользу перехода разбора из php в гипертекст, тогда да. А так, даже с несколькими тысячами лишних символов вариант выигрывает по скорости, а значит более логичен.
И уж тем более нескольким последовательным вызовам конструкции echo. | |
|
|
|
|
|
|
|
для: Николай2357
(04.01.2010 в 14:30)
| | Если мы опираемся на характеристику кода - ответ жесткий: сравнение неправомочно, т.к. выходной код не совпадает. | |
|
|
|
|
|
|
|
для: Trianon
(04.01.2010 в 14:25)
| | Имелась ввиду не логика ответа, а характеристика кода.))
Вот цитата:
neadekvat (03.01.2010 в 22:14)
А про первое - может, им так читать удобнее? Как-нибудь так было бы логичнее:
<?php
echo "<table>\n";
echo " <tr>\n";
echo " <td>\n";
echo " \n";
echo " </td>\n";
echo " </tr>\n";
echo "</table>\n";
|
Все таки более логично было бы воспользоваться вариантом, который предложил я. И быстрее. | |
|
|
|
|
|
|
|
для: Николай2357
(04.01.2010 в 14:00)
| | Логика тут применима слабо.
Если мы рассматриваем промежуточный код как исходный, т.е. такой, в котором будет разбираться человек, то логично.
Если же мы как исходный рассматриваем код на php, то нелогично. | |
|
|
|
|