Данная тема имеет учебно-информационную тематику, которая будет полезна для новичков. Она не создана для обсуждения и оффтопа. По возможности сюда буду скидывать не большие уроки, на понятном языке.
Встречайте стартовый урок:
<?php
/* Несколько советов по оптимизации */
/*
Старайтесь как можно меньше использовать функцию вывода на экран - echo.
Так как это все таки функция, и она вызывается как и другие функции. Чем больше вызов, тем больше нагрузка на сервер
*/
/* Как НЕ правильно*/
echo '<div>';
echo '<span>';
echo 'Какой то текст';
echo $var;
echo '</span>';
echo '</div>';
/* Как правильно */
echo '<div><span>Какой то текст', $var, '</span></div>';
/* И обратите внимание, что впереди и после вывода переменной $var, вместо точек используется запятые.
Дело в том, что точка соединяет строки между собой - и это тоже в каком то роде нагрузка для сервера.
Как уже писала раннее, что echo - это функция, и она принимает множество значения. В данном случае, она принимает 3 значения: строка, переменная, строка.
*/
/* Так же возможен и такой вариант */
echo "<div><span>Какой то текст {$var} </span></div>";
/* Но а в идеале, будет правильно отделить HTML код от PHP кода*/
?>
<div>
<span>
<?= $var ?>
</span>
</div>
<?php
/* Конструкция <?= ?> - это сокращенный вариант <?php echo $var ?> */
/* Пока что все. */
?>
Zdeshniy, Нет. Если на то пошло, то лучше использовать MVC (Модель, Вид, Контроллер). Где SQL запросы, HTML код и логика разделена между собой.
Можно же вроде вместо ечо использовать принт? Или нет ?)
Это ты уже на большее замахнулась а на простеньком проекте? Нативный шаблонизатор?
Скажу, что я не сторонница шаблонизаторов. Не разрабатывала на них проекты, не интересовалась как они нагружают сервер. Ничего о них рассказать не могу.
ВАЙБЛЯКАША CUSTOM, print - тоже функция. И очень мало где ее используют. В оптимизации разницы особой не почувствуешь. Хотя говорят, что echo быстрее чем print.
Анна, по твоему что быстрей?
<?
if ($xz == 'xz'){
echo 'xz';
}else{
echo 'ni xz';
}
?>
или
<?
echo ($xz == 'xz'?'xz':'ni xz');
?>