What are the benefits of using .css on .php with content-type: text / css?


What are the benefits of using a CSS external stylesheet over a php file set to content-type: text/css? If you place this header at the top of a PHP file I feel like you have so much more potential:

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

    if($query_string = "contact_us") {
        #nav {}

(^ that's a .php file). http://shapeshed.com/using_php_to_enhance_css/

If there are no downfalls (and I checked how they were cached in Chrome's Network Panel and I believe it's the same), isn't it kind of like whether to use .html or .php?

Thanks for any feedback.

Here are some differences:

  • PHP will create extra CPU / memory overhead compared with serving purely static CSS. Probably not all that much, but still a consideration. The more processing you do the bigger a deal it is, obviously.
  • You can't push PHP files to a CDN
  • SASS and LESS have been developed to deal with any dynamic features you might need so PHP isn't likely necessary
  • Sounds like you're worried about serving more CSS than is needed for certain pages. Realistically it's not an issue since browsers will cache the CSS after the first download.

Additional thoughts:

I wrote a UI template engine that isolates both JS and CSS code to only the specific views on which they are used. If a CSS or JS is used more than once, it is pushed to the "kitchen sink level" and included globally. This limits selector conflicts and also best balances the number of HTTP requests and total download size per request. Also keeping relevant code (i.e. button event listeners or page / element-specific styles) close together helps with more rapid programming, especially for non-expert teams / developers.