Como embutir código PHP em arquivos CSS

Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!

Prefácio

Já sentiu vontade de colocar condicionais no CSS? Já precisou colocar um belo de um IF do seu PHP dentro de uma folha de estilos pra resolver um problemão?

Pois então lhe mostro duas formas que podem resolver o seu problema! :D

Método 1

Este método é mais simples e utiliza um arquivo de extensão php apenas com um cabeçalho modificado. Basta adicionar um header dizendo ao navegador que o Content-type desse arquivo é text/css.

Vamos aproveitar pra passar um parâmetro (GET) para o arquivo! Caso exista e possua determinado valor, vamos trocar a cor do fundo da página!

Supondo que o nosso arquivo seja estilos.php, a estrutura ficaria mais ou menos assim:

[php]<?php header(‘Content-type:text/css’); ?>

body {
background-color: <?php echo (isset($_GET[‘fundo’]) && $_GET[‘fundo’] == ‘verde’) ? ‘#0f0’ /* Verde */ : ‘#00f’ /* Azul */; ?>
}[/php]

E na hora de puxar o CSS para o seu HTML, vamos adicionar um parâmetro indicando que queremos o fundo verde. Caso apague ou altere o valor, o fundo ficará azul:

[html]<link rel="stylesheet" type="text/css" media="screen" href="estilos.php?fundo=verde" />[/html]

Método 2

Já este modo é um pouquinho mais trabalhoso, mas permite que você mantenha seus arquivos com extensão css. Detalhe que só funciona com o Apache. Se você utiliza outro servidor, terá que procurar uma alternativa.

Crie um arquivo .htaccess (ou utilize um já existente) no diretório do arquivo css. Para fazer a mágica, apenas utilize a seguinte linha de código:

[code]AddType application/x-httpd-php .css[/code]

Isso fará com que o Apache interprete os arquivos .css daquele diretórios como arquivos PHP. Aí é só mandar ver! :-)

Conclusão

Espero que tenham gostado e que a dica tenha sido útil!

Um abraço a todos e fiquem com Deus.
Rafael Jaques