Последовательно выполнять функции, или вложить одну в другую?

VANHALEN

Новичок
Может вопрос покажется слегка ламерским, но всё-же. Что правильнее
PHP:
$comment = strip_tags($_POST['comment']);
$comment = iconv("windows-1251", "koi8-r", $comment);
$comment = wordwrap($comment, 70);
mail('[email protected]', 'Test mail', $comment);
Или вот таким вот способом, вложив всё в одно
PHP:
mail('[email protected]', iconv("windows-1251", "koi8-r", 'Test mail'), wordwrap(iconv("windows-1251", "koi8-r", strip_tags($_POST['comment'])), 70));
Ну можно конечно спросить у сервера сколько заняла операция, но предполагаю, что разница будет мега минимальной в данном случае, а вопрос более принципиальный, так как подобный подход может применяться и в более ресурсоёмких местах. С точки зрегия читабельности да, понимаю что второй вариант не ахти. Если после каждой функции нужно провериь результат, тоже понятно, что лучше отдельно написать. Вообще сам процесс каков? Вложенные функции выполняются на сервере как написано, или тоже последовательно как-то разбиваются PHP?

Ну и под конец спрошу? Написал то хоть правильно :) ? Просто 2 письма приходят всё время. Одно только с темой и пустым телом, второе нормальное. Как так? ли косяк не в этом месте?
 

Вурдалак

Продвинутый новичок
Вот чувак, у тебя год регистрации — 2005-й. И ты спрашиваешь в какой последовательности выполняются функции. WTF?
 

С.

Продвинутый новичок
Есть критерий -- текст порграммы должен быть "чистым" и легким для понимания даже без комментариев. В этом смысле первый вариант конечно предпочтительней.
 

VANHALEN

Новичок
Вот чувак, у тебя год регистрации — 2005-й. И ты спрашиваешь в какой последовательности выполняются функции. WTF?
Ну да, я вобщем-то не отношу себя к профессионалам. У меня несколько другая профессия. Когда сталкиваюсь, интересуюсь.
текст порграммы должен быть "чистым" и легким для понимания даже без комментариев
Само собой. Просто идея понравилась вложить всё в одно. Ладно, что быстрее даже не буду спрашивать, сам проверю.
 

WMix

герр M:)ller
Партнер клуба
VANHALEN, можно не париться, с точки зрения процессора и памяти оба подхода одинаково сложные. каждый вызов функции для обработки, для входящих значений, для возврата значения будет выделять память вне зависимости от того присвоется это значение или пойдет в следующую функцию.
 

VANHALEN

Новичок
WMix спасибо!
Таки пришёл к выводу, что в случае письма, удобнее использовать другой подход. Ведь мало-ли сколько полей придётся отправлять
PHP:
function prepare($text) {
    $text = wordwrap(iconv("windows-1251", "koi8-r", strip_tags($text)), 70);
    return $text;
}
mail('[email protected]', prepare('Тема письма'), prepare($_POST['comment']), $headers);
Вот так вот ещё меньше текста.
 

Lewik

Новичок
Я бы еще вынес кодировки, строки, адрес и магическое число 70, чтобы они указывались в отдельном месте.
 

VANHALEN

Новичок
Я бы еще вынес кодировки, строки, адрес и магическое число 70, чтобы они указывались в отдельном месте.
Да да да.. Именно так. Но поскольку в функции всего 3 операции и менять в ней понадобится максимум только кодировку, то в принципе можно и так - в одну строчку. А во всех остальных случаях конечно да - разделять.

70 знаков менять не придётся. Так сама функция mail требует, чтобы в строке было не больше 70 знаков. Если я конечно не отстал отжизни. И кстати добавить бы нужно замену. Кавычки есть такие, которые не обычные, а русские тчоли, как в старых книжках. На них спотыкается текст. всё что после - обрезается.
 

AnrDaemon

Продвинутый новичок
Функции строго пофиг. В документации стоит SHOULD, а не MUST.
 
Сверху