ho postato apposta il bug del link per un motivo specifico, quello di farvelo leggere![]()
![]()
e dopo la risposta di johannes ...[10 Mar 5:50pm CET] daniele_dll at yahoo dot it
Description:
------------
Terminating an heredoc without a newline cause a parse error.
The reported code was tested with php 5.0.4, 5.0.5 and 5.1.2
Reproduce code:
---------------
<?php
echo <<< HEREDOC_EOF
Test
Heredoc
All works fine!
HEREDOC_EOF;?>
Expected result:
----------------
This code should output the text into the heredoc
Actual result:
--------------
The execution of this code return a parse error
li dicono che non si può fare, è vero ... ma perché non c'è nessun motivo, almeno per me, per bloccare una cosa del genere ... quindi, personalmente, lo ritengo un bug ... e siccome quel bel riquadro, prima, non c'era volevo capire se è una cosa che hanno messo da poco o hanno semplicemente aggiornato la documentazione per avvisare di questo discorsoThis doesn't make sense!
Why an heredoc needs, to works correctly, a line only for it, without
other stuff after the terminator (with a semicolon)?
If there is a terminator and an ending semicolon, the command terminates
there, so i should add other commands in the same line without
problems.
I don't think this is a "really" bug, but it is a "logical" bug.
If the heredoc terminator is founded and there is a semicolon to
terminate the line, a new command can be executed, like all other
structures in php.
i can write
<?php
$a = 1; $c = 'daniele_dll'; $b = 'test'; $a = $b; $b = $c; echo $a . $b
. $c; echo print_r($_SERVER, true); die("ASD");
?>
without problems, so have heredoc that doesn't let to me to add
multiple commands after the heredoc termination (plus semicolon) doesn't
make sense for me.
There is a particular reason to manage heredoc in this way?
se c'è il terminatore ... ed il punto e virgola ... non capisco perché il parser continui a cercare ancora ... che cosa poi non so
ho notato la cosa usando un eval ...
secondo voi qua c'è qualcosa di sbagliato? ... ecco ... provate a sbatterci contro per un bel pezzocodice:<?php echo eval("return <<< HTMLEOF\r\nAll Works Correctly!\r\nHTMLEOF;"); ?>non c'è motivo ... li è corretto ... in tutta la riga c'è solo lui ... EPPURE ... da comunque errore perché non trova la nuova riga
infatti nel bug io ho specificatamente detto che cerca la nuova riga e lui mi ha risposto leggiti il manuale ... ma mi sa che gli faccio un terzo post dove riporto un'altro esempio ^^

Rispondi quotando