Я переписываю сайт, который будет поддерживать несколько скинов.В настоящее время я просто планирую разрешить изменение изображений и CSS, но основной HTML не изменится.И если обложка не изменяет изображение или файл CSS, она наследует этот файл от базовой обложки.
Имея это в виду, вот три способа, которые я рассматривал для обработки зависимой от обложки кожифайлы:
- Оберните все запросы, относящиеся к скину, в представлении функцией поиска, например:
<img src="<?php get_skin_file('/images/header.png', 'skin1'); ?>" />
function get_skin_file($file, $skin) {
$skin_file = '/' . $skin . '/' . $file;
if(is_readable($skin_file)) return $skin_file;
return '/default/' . $file;
}
Пусть php обслуживает изображение
<img src="/header.png.php?skin=skin1" />
Всегда пытайтесь загрузить файл скина, и, если он не существует, используйте ModRewrite дляотправить результат в скрипт обработчика php:
<img src="/skin1/header.png" />
Номер 2 - это то, что я хотел бы сделать, но я просто обеспокоен производительностьюпоследствия того, что PHP обслуживает практически каждый файл изображения.
Моя база пользователей достаточно мала (около 30 тыс. Пользователей), поэтому я не думаю, что это действительно будет проблемой, но я также хотел бы узнать, что другие люди делают в этой ситуации.
Спасибо.
РЕДАКТИРОВАТЬ: Я понятия не имею, почему мой код не отформатирован должным образом.Я нажал кнопку с кодом и проверил, что это 4 пробела, но все равно безобразно.Извините за это.