Что лучше ... делать классы специально для рендеринга html, sth. как это:Как вы можете разделить презентацию (XHTML) и функциональность (PHP-код)?
class IndexHTML {
public $doctype = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
public $title = "<title>MICE</title>"; //title of document
public $contentType = "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" />";
public $contentStyleType = "<meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />";
public $jsSrc = "<script type=\"text/javascript\" src=\"main.js\"></script>"; //your javascript files included
public $css = "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\" />"; //your css files included
function html_head(){
echo $this->doctype."<html><head>";
echo $this->title,$this->contentType,$this->contentStyleType,$this->jsSrc,$this->css;
echo "</head>";
require_once("classes.php"); //require additional needed scripts
}
}
или лучше писать отдельные файлы, как head.html (только с головой необходимые теги), menu.html, footer.html и т.д., а затем писать только:
class IndexHTML {
function html_head(){
require_once("head.html");
}
}
Я новичок в PHP и стараюсь изучить правильный способ работы с вещами.
EDIT: Отдельные файлы лучше подходят для обслуживания. Как насчет производительности?
Благодарим за совет.
Модифицируемость становится катастрофой с этими установками. –
Не могу согласиться с вами, и не мог согласиться с вами d03boy. Хотелось бы это любить, если бы однажды, первая реакция на эти типы вопросов была не «использовать Smarty». – da5id
Что касается изменчивости, вы справляетесь с ней, как и в C-дни: функциональная декомпозиция. Я заменил строки 300k плохо написанного PHP на 20k строк чистого PHP, где было довольно легко собрать новую страницу с разбивкой по страницам с довольно минимальным кодом (например) – cletus