Newsgroup: it.comp.www.php
Titolo: Re: CSS e PHP


[riassumo: se si specifica il DOCTYPE, e si linka un CSS esterno con
estensione .php, il browser gecko-based - che è rigoroso e  credo
associ il mime-type all'estensione - ti castiga e non lo utilizza. 
a inserendo la stringa sopra riportata lo fai felice e lui obbedisce
come un cane alla Scuola Cinofila Tuum].
Vorrei però approfondire la questione relativa alla cache.
Scenario: CSS dinamico generato a seconda di una variabile trasmessa
in GET:
<link rel="stylesheet" type="text/css" href="stile.php?layout=a">
Esistono tre potenziali layout, quindi la variabile $layout potrà
avere valore "a" "b" o "c". A seconda della variabile, il CSS, grazie
al codice PHP che contiene, si modifica cambiando colori, bordi,
caratteri, box e quant'altro.
Perché dici che così il CSS viene generato ogni volta? Non si conserva
in cache una versione del CSS per ciascun valore della var layout?
Nello specifico, non mi troverò in cache tre CSS distinti,
corrispondenti ai tre valoro a, b, c che avrà assunto $layout durante
la navigazione?
Ho guardato nelle mie cache:
- Opera mi sembra si comporti come dico io: trovo un file CSS per ogni
tipo di layout, oltretutto con la sua brava estensione CSS
(opr016OC.css, opr016OM.css...)
- anche M$IE (ho provato su 5.5) registra i CSS in cache, col nome
completo e cioè stile.php?layout=a, stile.php?layout=b,
stile.php?layout=c
Non ho ancora controllato Mozilla.
Matteo
------------------------------------------
Un po' di là dal mare c'è una terra chiara
che di confini e argini non sa
------------------------------------------

Ciao,
Da un pò di tempo ho rimesso in discussione tutti i miei lavori.
Sto facendo tabula rasa delle mie conoscenze su HTML e sto passando a pagine
completamente in CSS e PHP.
Lunedì dovrò presentare un lavoro importante: ho fatto promesse sulle
potenzialità dei CSS e PHP.
Malgrado le notti insonni per riuscire a portare a termine questo mio
progetto, non credo che riuscirò ad integrare CSS e PHP.
Questo sito che sto costruendo lo considero un mio prototipo che funzionerà
da biglietto da visita.
Scusate se mi sono dilungato.
La domanda è questa: visto i tempi limitati presenterò un sito statico con
l'uso dei CSS.
Se avrò la fortuna di trovare il tempo vorrei riuscire ad usare i CSS con il
PHP.
Qual'è il metodo migliore per fare questa integrazione?
Grazie dell'attenzione,
Odisseo66

 Qual'è il metodo migliore per fare questa integrazione?
In che modo vorresti integrarli?
Comunque php produce html, e dall'html prodotto usi i css.
Se vuoi creare i css tramite php, si puo` fare, ma io lo sconsiglio. O
almeno consiglio un css "master" statico e uno "figlio" dinamico. Questo
perche` il vantaggio principale del css esterno e` di restare in cache del
browser e alleggerire le pagine. Se lo fai dinamico lo riscarichi ogni
volta.
Bye.

 ha scritto nel messaggio
news:318lvlF...@individual.net...

Grazie, avevo fatto un pò di confusione.
Infatti seguirò il tuo consiglio senza complicarmi ulteriormente la vita.

 Qual'è il metodo migliore per fare questa integrazione?
Non ho capito la domanda :-)
-- 
"Deep in the human unconscious is a pervasive need for a
logical universe that makes sense. But the real universe is
one step beyond logic."
From "The sayings of Muad'Dib" by the Princess Irulan
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Qual'è il metodo migliore per fare questa integrazione?
Posso solo consigliarti di guardare come usa i css un cms come mambo:
www.mamboserver.com

copia in cache.
Molto interessante, davvero. Ti ringrazio.


 la navigazione?
Mentre scrivevo mi e` venuto in mente che non basta guardare la directory
della cache del browser, ma devi guardare i log del server.
Credo che anche le pagine php vengano messe in cache, ma ad ogni
collegamento viene richiesto al server se sono state modificate. Quindi se
nel server trovi 200 come codice di "errore" vuol dire che te la rimanda
ogni volta. Se trovi 200 la prima volta e 304 le successive, vuol dire che
si accorge che non sono state modificate e dice al browser di usare la
copia in cache.
Bye.

copia in cache.
Confermo quanto sospettato da Alessandro: il CSS dinamico viene
generato ogni volta, il che costituisce uno svantaggio notevole.
Quindi è opportuno sfrondare dal file CSS tutte le definizioni che si
vogliono poter variare (a seconda della sezione o di una scelta
dell'utente) e inserirle o in diversi CSS statici più piccoli (uno per
ogni layout, ad esempio, che verranno richiamati sulla base di
determinati parametri o cookies o quant'altro), oppure in un CSS
dinamico che verrà generato volta per volta (tanto è piccolino).
A questo punto apro un'altra questione: quanti file CSS usate?
Create un unico super-file CSS, oppure più file CSS, ognuno dei quali
si occupa di gestire elementi specifici? (ad es, l'aspetto degli
elementi di un form è definito in un file form.css che viene
richiamato solo nelle sezioni dove vi servono).


 richiamato solo nelle sezioni dove vi servono).
Io solitamente faccio un css "master" con le definizioni delle cose piu`
comuni in tutte le pagine, ed eventualmente (ma usato pochissime volte)
dei file css secondari solo per alcune pagine (per esempio dove varia
leggermente il layout o dove cambiano magari i colori di alcune cose, ecc.)
Oltre naturalmente al css per la stampa ed eventualmente quello per
l'accessibilita`.
Bye.