Это плохая идея использовать php в документах CSS? - PullRequest
3 голосов
/ 15 февраля 2009

Я создал css-страницу с именем style.php и включил ее в топ:

<?php header("Content-type: text/css"); ?>

Это заставляет вас съеживаться? Это ужасная идея? Я делаю это потому, что создал CMS, которая позволяет администратору управлять цветами на страницах (поэтому скрипт style.php запрашивает базу данных и получает шестнадцатеричные значения).

Есть мысли?

Ответы [ 4 ]

5 голосов
/ 15 февраля 2009

Это неплохая идея (с учетом заметок о кешировании + тип контента), но подумайте о стоимости запуска экземпляра PHP (mod_php) или передачи сценария уже запущенному php (стиль fastcgi). Вы действительно хотите эти накладные расходы?

Возможно, вам лучше записать «кэшированную» версию вашей страницы CSS в статический файл и обработать ее (или, если вам нужна гибкость на странице, выбрать таблицу стилей для включения; я предполагаю, что вашей главной страницей является PHP уже есть)

4 голосов
/ 15 февраля 2009

Это хорошее решение, просто убедитесь, что вы обслуживаете соответствующие заголовки. См. мой пост о соответствующей теме (для поиска нужного раздела найдите «Важные заголовки»).

Еще одна вещь:

При кэшировании вы можете попасть в ситуацию, когда пользователь меняет цвет, который он хочет видеть, но (поскольку он кэшируется на клиенте), страница не обновляется. Чтобы аннулировать кэш, добавьте? = Id в конце URL, где ID - это число, которое хранится для пользователя (например, в сеансе) и увеличивается каждый раз, когда она меняет цветовую схему.

Пример:

1 голос
/ 15 февраля 2009

Это неплохая идея. Это креативная идея с многочисленными преимуществами:

  • ваши пользователи могут определять значения без необходимости беспокоиться о безопасности (синтаксический анализ CSS труден)
  • вы можете использовать более визуально согласованный набор скинов (некоторая гибкость лучше, чем общая гибкость)
  • простой код
1 голос
/ 15 февраля 2009

Если вы используете соответствующее кэширование, так как я думаю, что значения, управляемые CMS, вероятно, будут меняться не очень часто, нет особой причины избегать создания включения CSS на лету.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...