Visualizzazione dei risultati da 1 a 6 su 6

Discussione: @ in PHP

  1. #1

    @ in PHP

    Che significato esatto ha il simbolo @ in PHP?

    Per esempio, cosa significa il codice seguente?
    codice:
    $requestXml = @$HTTP_RAW_POST_DATA;
    E quale sarebbe la differenza se scrivessi:
    codice:
    $requestXml = $HTTP_RAW_POST_DATA;
    quindi senza @.

    Grazie per la risposta.

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    la @ serve a nascondere i messaggi errore.

    ad sempio

    $cnt = file_get_contents( ./fileinesistente.txt );

    lancia un warning che dice il file non esiste., e $cnt viene settato a false.

    $cnt = @file_get_contents( ./fileinesistente.txt );

    Non lancia alcun messaggio MA $cnt e' sempre false....

    Server per le versioni release del software per evitare che le procedure che lanciano queste segnalazioni scrivano cose nella pagina magari facendo fallire istruzioni di redirrect o manipolazione cookies etc etc....

  3. #3

    Re: @ in PHP

    Originariamente inviato da ariel.demian
    Per esempio, cosa significa il codice seguente?
    codice:
    $requestXml = @$HTTP_RAW_POST_DATA;
    @ evita i messaggi di errore, quindi nel caso specifico se $HTTP_RAW_POST_DATA non esiste evita di stampare un warning. Ottieni lo stesso se fai:

    $requestXml = isset($HTTP_RAW_POST_DATA) === TRUE ? $HTTP_RAW_POST_DATA : NULL;

    (che non stampa comunque l'errore perché isset() può ricevere variabili inesistenti)

    In generale va evitato, perché l'errore che esce potrebbe non essere quello che ti aspetti.
    Meglio usare error_reporting() quando vai in produzione

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Assolutamente daccordo ( o d'accordo )

  5. #5
    Risposte perfette. Grazie.
    Non riuscivo a trovare questa piccola cosa nel manuale online di php.

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Lol gia secondo me dovrebbe essere messa nelle faq !


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.