Repository 32bit  Forum
Repository 64bit  Wiki

"here document" in PHP

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

"here document" in PHP

Messaggioda samiel » mar ott 21, 2008 11:36

Piccola curiosità cui non ho trovato risposta nei manuali.
L'opzione "here document" (<<<HERE ... HERE;) di PHP
dovrebbe stampare tutto alla lettera, un po come fanno
in LaTeX gli ambienti verbatin e alltt. Però se ci infilo
diciamo "$variabile", quella stringa non viene affatto
visualizzata. Allora non è proprio vero che "here document"
stampa tutto esattamente com'è...

Grazie
M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: "here document" in PHP

Messaggioda conraid » mar ott 21, 2008 11:59

samiel ha scritto:Piccola curiosità cui non ho trovato risposta nei manuali.
L'opzione "here document" (<<<HERE ... HERE;) di PHP
dovrebbe stampare tutto alla lettera, un po come fanno
in LaTeX gli ambienti verbatin e alltt. Però se ci infilo
diciamo "$variabile", quella stringa non viene affatto
visualizzata. Allora non è proprio vero che "here document"
stampa tutto esattamente com'è...

Grazie
M.


Stampa il contenuto della variabile $variabile, come farebbe in perl per esempio con <<<"HERE" (il perl ha anche 'HERE', il php no)
E' come fare echo "..."; solo che puoi usare le virgolette al suo interno

Se vuoi stampare proprio $variabile, allora devi scrivere \$variabile


UPDATE
http://it.php.net/manual/en/language.ty ... ax.heredoc

Dalla 5.3.0 ci sarà anche nowdoc, cioè
echo <<<'HERE'

che non interpreterà le variabili
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: "here document" in PHP

Messaggioda aschenaz » mar ott 21, 2008 12:22

Se non ricordo male, l'heredoc non interpreta le costanti. Nel caso, bisogna
assegnare il valore della costante ad una variabile prima dell'heredoc...
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4433
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.18
Desktop: KDE 4.10.5

Re: "here document" in PHP

Messaggioda samiel » mar ott 21, 2008 18:58

E non va nemmeno a capo se non si mette il classico <br>
Forse sono io che pensavo che agisse, appunto, cime verbatim di LaTeX...

M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: "here document" in PHP

Messaggioda conraid » mar ott 21, 2008 19:49

samiel ha scritto:E non va nemmeno a capo se non si mette il classico <br>
Forse sono io che pensavo che agisse, appunto, cime verbatim di LaTeX...

M.


A capo ci va mauro, quello è un discorso di HTML non di output del comando
Anche se scrivi una pagina normale chiamate prova.html e ci metti dentro

Codice: Seleziona tutto
prova di un
testo


il browser ti mostrerà

Codice: Seleziona tutto
prova di un testo


quel che dici tu in html sarebbe con il tag < pre >
Avatar utente
conraid
Staff
Staff
 
Messaggi: 12022
Iscritto il: mer lug 13, 2005 23:00
Località: Livorno
Nome Cognome: Corrado Franco
Slackware: current

Re: "here document" in PHP

Messaggioda samiel » mar ott 21, 2008 21:40

Esatto. Solo che , appunto, avevo frainteso
pensando, lo ripeto, a un comportamento analogo
a Verbatim di LaTeX. Mentre PHP fa cose diverse
e la visualizzazione ancora diverse...
Grazie
M.
samiel
Staff
Staff
 
Messaggi: 5500
Iscritto il: ven gen 16, 2004 0:00
Località: Venezia
Nome Cognome: Mauro Sacchetto
Slackware: 13.0
Kernel: 2.26
Desktop: KDE
Distribuzione: anche Debian

Re: "here document" in PHP

Messaggioda aschenaz » mer ott 22, 2008 6:11

Il vantaggio dell'heredoc, in pratica, lo vedi quando hai una parte di
codice mista html/php abbastanza consistente, così da non dover
ricorrere continuamente all'escape di virgolette (o alla concatenazione).
La formattazione, come ha già detto conraid, la mantiene solo a
livello di codice, non di output. Quello che andrebbe normalmente
in html lo devi mantenere...
pensieriemotivi.aschenaz.eu - music-blog
Avatar utente
aschenaz
Staff
Staff
 
Messaggi: 4433
Iscritto il: mar lug 27, 2004 23:00
Località: Reggio Calabria
Nome Cognome: Nino
Slackware: current 64bit
Kernel: 3.14.18
Desktop: KDE 4.10.5


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite