Я случайный веб-разработчик, поэтому обычно я не знаком с деталями и глубоким дизайном стилей CSS. Поскольку большинство из того, что я делаю, требует PHP, в конце концов все мои страницы исполняют некоторый PHP.
Я чувствую себя более комфортно при реализации деталей дизайна в включенных классах PHP, а не в CSS.
Например, вместо CSSing заголовка, общего для всего сайта, я просто включаю («header.php») на каждой странице, «header.php», содержащий среди прочего класс Palette со всеми определениями стиля и с указанием стиля непосредственно в элементах (У меня есть личная аллергия на слишком много файлов)
До сих пор я не нашел никаких неудобств в этом подходе, на самом деле для меня более понятна и гибка реализация дизайна на процедурном языке, чем в декларативном (я программист на C ++).
Мне интересно, если в будущем я буду сожалеть об этом решении, что не так с этим подходом?
—- РЕДАКТИРОВАТЬ —-
Позвольте мне показать простой пример, чтобы уточнить, что я имею в виду (пример не разработан, определенно, он будет лучше разработан в производственном случае)
class Palette{
var $colorBackground="#fff";
var $colorText="#000";
}
//-------------------------------------
function styleInHeader($palette){
$css=<<<THECSS
.header{
color:{$palette->colorText};
background-color:{$palette->colorBackground};
}
THECSS;
return $css;
}
// when generating the <head>
$pal=new Palette();
echo style_general($pal);
Это может работать, если вы хороший программист, очень тщательно применяете это правильно и знаете, что и почему вы делаете. В конечном итоге, CSS решает задачи примерно так же, как и код, настраивая метки и загружая для них данные из общего источника.
Однако есть одна очень важная причина пересмотреть ваш подход:
Ты сможешь никогда быть в состоянии заставить кого-то еще работать над этим проектом, потому что они не будут знать, что вы делаете.
Но до тех пор, пока вы признаете, что это проект с одним человеком, я не предвижу серьезных проблем.
Однако, если вы делаете это с намерением сделать что-то большое и профессиональное, что может потребовать от других людей помочь вам в какой-то момент в будущем (или, что еще хуже, заплатить кому-то за это), то я бы действительно поменял на самом деле с помощью CSS для проекта.
Это только то, как я вижу, если покупка того или иного элемента через php — это не только тяжелая работа, но и ненужная, и она сделает ваш код «х» в разы длиннее и сложнее для чтения, что если вы не откроете этот php файл в течение одного месяца, а затем вы решили что-то изменить в нем? Вы не будете помнить каждый параметр, и вы забудете стилизовать некоторые из них, и это станет бесконечным циклом стилизации и загрузки …
Кроме того, зачем писать 100 раз один и тот же стиль для 100 элементов, если вы можете сразу нацелить их на CSS, добавив класс?
Краткий ответ:
Использование таблицы стилей CSS проще, гибче и делает ваш код более читабельным.