|
Объясните строку кода на PHP |
☑ |
0
Помогите
23.01.15
✎
10:13
|
ob_start(); echo 'Вот так все и произошло'; return ob_get_clean();
В чем смысл этого? Не проще написать сразу return 'Вот так все и произошло'; ?
|
|
1
eRik
23.01.15
✎
10:23
|
проще, но..
а) код писали индусы
б) просто тупо заюзали шаблон
в) изначально там было еще что-то, что потом удалили, а оптимизировать код было лень/некогда
г) ... да мало ли чего
|
|
2
Xapac
23.01.15
✎
10:31
|
(0) нет. эхо это типа вывести а ретур это вернёт строку.
а что вызывает процедура ob_get_clean() одному интерпретатору известно
|
|
3
TheVeryHe
23.01.15
✎
10:42
|
ob_start — Включение буферизации вывода
ob_get_clean — Получить содержимое текущего буфера и удалить его
|
|
4
Помогите
23.01.15
✎
10:52
|
(2) а! Вот оно что... Спасибо. Буд знать.
|
|
5
Помогите
23.01.15
✎
10:52
|
Темку можно закрывать
|
|
7
Помогите
23.01.15
✎
11:10
|
(6) Что-то не вижу там функций сжатия.
|
|
9
shpioleg
23.01.15
✎
11:52
|
До отправки HTTP заголовка header () нельзя ничего посылать клиенту. Тем более выводить с помощью echo. Поэтому все ,что хочешь вывести на этапе работы php скрипта, буферизируешь и только потом выводишь.
|
|
10
Помогите
23.01.15
✎
11:52
|
(8) Откуда бы ни было, смысл от этого не меняется. То что возвратил return можно сжать в обоих случаях.
|
|
11
Помогите
23.01.15
✎
11:53
|
(9) return 'Вот так все и произошло'; так же ничего не выводит. Никакой разницы не вижу
|
|
12
Rie
23.01.15
✎
11:58
|
(11) Так return и не должен выводить. В отличие от echo.
|
|
13
vlandev
23.01.15
✎
12:00
|
(11) Вот так должно быть понятнее:
ob_start();
echo 'Вот так все и произошло';
return ob_get_clean();
|
|
14
Помогите
23.01.15
✎
12:06
|
(12) так и echo в данном случае ничего не выводит
|
|
15
Помогите
23.01.15
✎
12:07
|
(13) Ничего не изменилось. Только в три строки стало
|
|
16
Rie
23.01.15
✎
12:09
|
(14) Правильно. См. (9).
(15) В (0) ты хотел (?) вернуть из функции строку 'Вот так все и произошло'. А в тексте сказано, что возвращать надо не строку, а результат ob_get_clean(). Есть разница?
|
|
17
Помогите
23.01.15
✎
12:47
|
(16) Пока разницы не вижу. Результат ob_get_clean() разве не строка 'Вот так все и произошло'?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший