Оптимизация ч.3

Используйте собственные функции
Часто необходимо обработать несколько строк по совершенно одинаковому алгоритму. Вот, что делают неопытные программисты…

print(substr(chop(stripslashes(trim(str_replace("\r",' ',str_replace("\n",' ',$string1))))),0,1024));
print(substr(chop(stripslashes(trim(str_replace("\r",' ',str_replace("\n",' ',$string2))))),0,1024));
А опытные пойдут более простым путем.

function format(&$string){
print(substr(chop(stripslashes(trim(str_replace("\r",' ',str_replace("\n",' ',$string))))),0,1024));
}
print(format($string1));
print(format($string2));
Таким образом можно выполнять одно и тоже действие несколько раз, минимально нагружая сервер.

Не создавайте лишних функций
К примеру, если довольно опытный программист забудет или вообще не будет знать о существовании встроенной нужной ему функции, он с легкостью способен написать такую сам.

function optimize(&$string){
$string=str_replace('&','&',$string);
$string=str_replace('"','"',$string);
$string=str_replace('<;','<',$string);
$string=str_replace('>'','>',$string);
}
print(optimize($string));
А ведь можно обойтись более простыми средствами.

print(htmlspecialchars($string);
Не используйте лишние функции
Вот пример неэффективного кода.

print('Мой дядя ');
print('самых честных грабил…');
Но его можно очень просто оптимизировать.

print('Мой дядя '.'самых честных правил…');
Чувствуете разницу? Поверьте, хостер в этом случае вам будет только благодарен за освободившиеся ресурсы сервера…

Рационально используйте функции
Например, такой скрипт.

print(ereg_replace('нормальный','несчастный',$string));
Включает алгоритм обработки регулярных выражений (POSIX), там, где это совсем не требуется. А сервер нагружается намного сильнее. А ведь можно облегчить его участь, заменив прожорливую функцию на менее жадную к ресурсам.

print(str_replace('несчастный','счастливый',$string));
Не дергайте лишний раз обработчик
Известно, что все, содержащееся вне тега PHP-кода, PHP-процессор не обрабатывает, а просто передает в неизменном виде. Некоторые пользуются этим вот так.

…шапка страницы…
<?php
print($заголовок);
?>
…навигация…
<?php
include('динамический контент');
?>
…подвал страницы…
Но ввод в режим обработки PHP и вывод из него нагружают сервер более, чем если бы использовалось вот это.

<?php
print('…шапка страницы…'.$заголовок.'…навигация…');
include('динамический контент');
print('…подвал страницы…');
?>