Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [Bug PHP] Problemi con heredoc

    http://bugs.php.net/?id=36682

    volevo sapere se avete mai riscontrato questo problema e se vi sembra logica una cosa del genere

    (se avete la possibilità potete provare anche con le versioni precedenti di php?)

  2. #2
    Più chiaro di così come lo dovevano scrivere ?

    It is very important to note that the line with the closing identifier contains no other characters, except possibly a semicolon (. That means especially that the identifier may not be indented, and there may not be any spaces or tabs after or before the semicolon. It's also important to realize that the first character before the closing identifier must be a newline as defined by your operating system. This is \r on Macintosh for example.
    Addio Aldo, amico mio... [03/12/70 - 16/08/03]

  3. #3
    Mai dato problemi, ne con php4 ne col 5
    Chiamatemi sven se volete non ho voglia di fare una nuova email per una nuova registrazione xD
    Mac Future User , Ventilatore for PC Cooler user , - dry is coming -

  4. #4
    ho postato apposta il bug del link per un motivo specifico, quello di farvelo leggere

    [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
    e dopo la risposta di johannes ...

    This 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?
    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 discorso

    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 ...

    codice:
    <?php
    
    echo eval("return <<< HTMLEOF\r\nAll Works Correctly!\r\nHTMLEOF;");
    
    ?>
    secondo voi qua c'è qualcosa di sbagliato? ... ecco ... provate a sbatterci contro per un bel pezzo 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 ^^

  5. #5
    si sono limitati a classificarlo come un problema di documentazione ... LOL

    ma perché io mi domando

    qual'è il motivo per il quale non è possibile correggere quest'errore, pur se voluto? Perché di errore si tratta, logico, ma pur sempre errore è

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.