Newsgroup: it.comp.lang.javascript
Titolo: Consiglio su uso di var php in riferimenti JS

Dunque ho la seguente situazione in un sito 80%php 20%js.
I vari file JS utilizzati sono richiamati SOLO tramite riferimenti contenuti 
nei tag <head> tipo:
<head>
<meta  http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script src="jsdir/funzioni.js" type="text/javascript"></script>
.
.
.
Ora ho delle variabili, chiamiamole di configurazione, racchiuse in un file 
var.php che includo PRIMA dei tag head:
include (config/var.php");
Il contenuto di questo file è del tipo:
$var1 = 'pippo';
$var2 = 'pluto';
etc...
DOMANDA:
Qual'è il modo, se esiste, più pulito ed efficietne di passare il valore di 
una delle variabili php contenute nel file di cui sopra (esempio: $var1) al 
file javascript richiamato nei tag head?
Cioè praticamente io vorrei usare il valore della $var1 dentro il file 
funzioni.js.
L'unica cosa che m'è venuta in mente è di mettere il valore della $var1 
dentro un input box nascosto e chiamare il contenuto del div tramite 
funzioni jquery... ma mi sembra macchinoso. 

 funzioni jquery... ma mi sembra macchinoso. 
potresti fare qualcosa del genere: modifichi l'html così (uso il tag
body ma qualsiasi altro può andare bene):
<body data-var1="pippo" data-var2="pluto">
e poi nel file js:
var var1 = $('body').data('var1')
eccetera

 eccetera
Ok, quindi ero sulla strada giusta. Grazie. 

 file javascript richiamato nei tag head?
Le devi passare al client in qualche modo, dato che var.php vive solo
sul server. In pratica devi avere un file php che ti ritorna un
javascript. Un modo potrebbe essere:
var Config = {
   var1 : "<?=$var1 ?>",
   var2 : "<?=$var2 ?>",
   etc : "eccetera"
};
E nell'head:
<script type="text/javascript" src="config/config.php"></script>
A questo punto, dentro "funzioni.js" puoi riferirti a Config, senza
dipendere da php:
alert(Config.var1);
Inoltre, se il file var.php non ha senso di vivere sul server (� solo
una collezione di settaggi per la configurazione lato client), puoi
benissimo avere un file javascript e finita l�, invece di complicarti la
vita. Comunque, quando ti serviranno quei valori lato server, sar�
JavaScript a inviarteli tramite richieste http.
Se invece ti serve per forza di cose di avere quei valori da ambo le
parti, cosa che non mi � mai capitata onestamente, allora puoi comunque
tenerti un file solo e generare l'altro a runtime.
Ovvero, in var.php ti fai un oggetto in PHP, un array associativo ad
esempio:
$Config = array(
   "var1" => "pippo",
   "var2" => "pluto"
);
e in config.php lo ritorni come oggetto JavaScript:
var Config = <?= json_encode($Config) ?>;
In questo modo ne devi mantenere uno solamente. Volendo, puoi anche
Avere un file unico che in base a come viene incluso decide se ritornare
il Config versione JavaScript oppure no.
� un decennio che non uso PHP, ma il concetto di base � pi� o meno questo.
-- 
"When you have eliminated the impossible, whatever remains, however
improbable, must be the truth."

 <script type="text/javascript" src="config/config.php"></script>
forse voleva essere un
include("config/config.php");
giusto? 



No.
config/config.php e` un file php standalone che genera un javascript, 
quindi va trattato come un javascript.
Bye.

 quindi va trattato come un javascript.
Quante cose ho imparato oggi... ;)
Grazie 

 Quante cose ho imparato oggi... ;)
Il newsgroup serve appunto a questo. :)
E se vuoi approfondire ci sono tante altre cose da imparare, in merito!
