[Resolvido] Qual a forma correta de incluir Js e Css em Páginas D
Olá pessoal..
Esta é uma dúvida que me acompanha desde que comecei com PHP.
Utilizar PHP significa implicitamente que vamos escrever menos HTML. ( menus e etc). Porém, quando trabalhamos com css e principalmente JavaScript, sabemos que em certas páginas temos que utilizar mais de uma folha de estilo e/ou mais de um script js. ( principalmente quem utiliza jQuery ).
E é exatamente essa minha dúvida quando digo "Qual a forma correta de incluir Js e Css em Páginas Dinâmicas?"
Vou dar um exemplo do que quero saber.
Vamos supor que eu tenho uma página padrão e utilizasse query string para mudar o conteúdo. então a principal seria.
principal.php
<?php
include 'cabecalho.inc';
// conteúdo gerado pela query String
include 'rodape.inc';
?>
onde na cabecalho.inc teria:
<html>
<head>
<title><?php echo $titulo ?></title>
<link rel="stylesheet" href="geral.css" />
</head>
<body>
e na rodape.inc teria:
</body>
</html>
Um exemplo simples..
Pois bem... sabendo disso, eu teria que ter um css padrão para dar o visual para o cabeçalho e para o meu rodapé. então, eu já inclui um css para a pagina ( geral.css)..
Vamos supor que eu tenha uma página de contato(contato.inc) e uma outra, que seria a principal (principal.inc) que serão acionadas pelo query string, então eu teria que adicionar um css, na página de contato e um css na página principal, mas nunca os dois, pois uma página é diferente da outra.. então, como adicionar automaticamente essa página?
A forma que eu uso, é colocar um <link rel="stylesheet" href="<?php echo $variavel_queryString ?>" /> e criar um css com o mesmo nome da pagina que eu vou chamar pelo queryString, ( ex: contato.css ). pois quando eu passar uma variavel pelo query string, alem de chamar a pagina que eu quero eu adiciono o css dela tambem.
Para quem utiliza apenas um css por página, sem problema nenhum, mas e no caso do JavaScript que muitas vezes eu preciso adicionar um plugin também, além do js principal.js, eu tenho que chamar os plugins, ou seja, não daria para adicionar duas páginas como foi feito acima.
Eu não posso adicionar esse plugin no cacabecalho.inc porque eu não quero que a pagina carregue um plugin da página principal na página contato, pois isso geraria um download desnecessário para o cliente.
Então a solução que eu encontro hoje é criar um novo cabeçalho especificamente para essa página, mas acho que fazendo isso eu estou fugindo da idéia do DRY ( Don't repeat Yourself), ou seja, estou escrevendo duas coisas..
Se depois eu precisasse inserir 3 plugins, eu teria que criar mais um cabeçalho?! oÔ'.
O que fazer nesse caso?
Alguém utiliza uma solução diferente?
Obrigado!
Discussão (2)
Carregando comentários...