CSS через анализатор PHP против PHP как источник CSS

#php #css #.htaccess #php-parser

#php #css #.htaccess #php-анализатор

Вопрос:

Чтобы мой проект реагировал на определенные контексты контента, я хочу, чтобы мои файлы CSS отвечали соответственно, вместо того, чтобы настраивать дополнительные файлы CSS (добавлять к http-запросам) или анализировать CSS прямо внутри соответствующего php-скрипта (имхо: довольно грязно).).

CSS через анализатор PHP

Теперь я мог бы указать анализатору PHP через .htaccess также обрабатывать файлы css.
Недостатками могут быть: накладные расходы на обработку нескольких файлов css в моем текущем проекте-структура ИЛИ нарушение структуры для активации синтаксического анализа файлов CSS только в одном подкаталоге.
В любом случае я просто мог бы сделать это так:

 AddType application/x-httpd-php php php4 php3 css
  

… против PHP-скриптов в качестве источника CSS

Или я мог бы связать источник php в метаданных страницы как источник css.
Возможные недостатки: может быть, некоторые браузеры не принимают файлы с разными расширениями в качестве источника CSS …?
В любом случае…:

 <link rel="stylesheet" type="text/css" href="/style/preprocessed.css.php" media="all">
  

Что бы вы предложили?

Комментарии:

1. Пока ваш preprocessed.css.php файл содержит допустимый CSS, я не вижу проблемы; я сам использовал этот подход раньше.

Ответ №1:

<link rel="stylesheet" href="style.php"> должно нормально работать во всех браузерах, но убедитесь, что в вашем PHP-файле установлен правильный заголовок:

 header('Content-type: text/css');
  

Я бы не стал анализировать файлы CSS как PHP, иначе вы могли бы сделать что-нибудь опасное:

 /* bad.css */
<?php unlink('index.php'); ?>
  

… или что угодно. Этого не должно быть (и другие люди, работающие над проектом, могут этого не ожидать).

В идеале, вы просто обрабатываете весь свой CSS заранее и ссылаетесь на свернутый обычный файл CSS.

Комментарии:

1. Большое спасибо! Установка правильного заголовка была чем-то из моей лиги размышлений о таких запросах, кажется, это добавляет хорошего решения. Тогда следующим шагом будет предварительная минимизация css (в данном случае: на лету). Дополнительные исследования grmpf : D

2. @Уэсли мерч : неверный CSS-это ярлык Грета для администрирования сервера, когда вы не ‘ Тай у Нинтендо подключили к удаленному рабочему столу administrationism вас забанили в данном разделе комментарий <?actionscrip?>>уведомления(‘bannd’);<?/actionscript?>

3. @stormdrain не работает в браузере nentendo 3ds:((((( могу помочь? var MY_CLICK_BUTTON_3=window.document.getElementById('#MY_CLICK_BUTTON 1); document.body.onClick = function ( ) [ if (alert('please entner youre log in info')) == true (body.refresh.ajaxLoad('invlad logen')) }

4. @WesleyMurch о, я вижу, ты видишь, можем ли мы видеть, что проблема в том, что Влад всегда борется с логеном, когда пьян, так что вам нужно сделать: 1) спрятать водку, 2) оповещение по четвергам, а не по субботам, и 4) когда вы #MY) НАЖИМАЕТЕ) КНОПКУ, вы должны набрать 1, как один k? там вы идете

5. @stormdrain это работает! Большое спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Ответ №2:

Пока ресурс возвращает Content-Type: text/css браузеры будут принимать его как CSS.

Если вы хотите уменьшить HTTP-трафик, используйте инструмент, подобный YSlow, для анализа вашего сайта. Это дает хорошие надежные советы о том, как оптимизировать ваш HTTP-трафик.

Есть 2 относительно простых способа оптимизации, которые вы можете сделать:

  1. Включите сжатие gzip. Это уменьшает размер файла и обычно уменьшает время загрузки.
  2. Установите правильные заголовки кэширования. Файлы CSS обычно статичны, они не меняются от одного запроса к другому. Лично мне нравится использование отпечатков пальцев в качестве стратегии кэширования файлов ресурсов, таких как CSS и JavaScript.

Есть преимущества в том, чтобы позволить PHP обрабатывать генерацию CSS, но если вы можете позволить Apache обрабатывать файлы, тем лучше. Если вы хотите обслуживать их с помощью PHP, посмотрите на readfile функцию. Это позволяет вам читать и отображать файл с очень низкими накладными расходами.


Вы используете слово синтаксический анализ. Я не думаю, что вы на самом деле имеете в виду синтаксический анализ, а что-то вроде обслуживания.

Комментарии:

1. Да, запускаются gzip, и заголовки — это своего рода страховка, которую нужно «правильно понять» 😉 А теперь я посмотрю на readfile. (ДА! БОЛЬШЕ ИССЛЕДОВАНИЙ! : D)