Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Semplice funzione php

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376

    Semplice funzione php

    in una funzione personalizzata, di solito viene restituita una variabile:

    return $stringa;

    Ora, se voglio stampare il valore di quella variabile al di fuori della funzione, basta fare

    echo nomefunzione();

    Poichè la variabile $stringa non la uso nè prevedo che mi serva, posso omettere del tutto "return $stringa;" oppure devo usarla per forza?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    51
    Però attento alle variabili globali per motivi di sicurezza

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376

    Re: Re: Semplice funzione php

    Originariamente inviato da :V:
    se ho capito bene, vorresti stampare una stringa senza che ella ritorni dalla funzione... dovrebbe bastare questo...

    echo $GLOBALS['nome_variabile_senza_$'];
    ho provato, se commento la variabile di ritorno nella funzione poi fuori non stampa nulla.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    Originariamente inviato da websun
    Però attento alle variabili globali per motivi di sicurezza
    cioè? usare $GLOBALS['variabile'] è pericoloso?

  5. #5

  6. #6

    Re: Semplice funzione php

    Originariamente inviato da LucianoS
    in una funzione personalizzata, di solito viene restituita una variabile:

    return $stringa;

    Ora, se voglio stampare il valore di quella variabile al di fuori della funzione, basta fare

    echo nomefunzione();

    Poichè la variabile $stringa non la uso nè prevedo che mi serva, posso omettere del tutto "return $stringa;" oppure devo usarla per forza?
    Codice PHP:
    <?php
    /**
    * Semplice esempio
    */

    function pippo ($molt 1) {
    $var 3;
    return 
    $molt $var;
    }

    echo 
    pippo(7);

    ?>
    Non ci sono molte alternative.
    Usare le global nel modo suggerito è...deleterio e folle!

    [ot]
    La variabile $stringa, se dichiarata solo all'interno della funzione, non potrai mai usarla o recuperarla direttamente da fuori la funzione. Al massimo si può fare se non è una varibile della funzione ma è una variabile di istanza pubblica (e quindi la richiami dove vuoi e bene o male da dove vuoi) o privata (e la puoi recuperare solo dall'interno della classe). Lasciamo stare il caso delle variabili protette, che sinceramente ho visto raramente.
    [fine ot]

  7. #7
    Secondo me hai le idee un po' confuse. Partiamo dal principio, se scrivi una funzione è perchè essa deve eseguire un determinato lavoro che in questo modo viene ragruppato e centralizzato all'interno di una funzione richiamabile in più punti dell'applicazione evitando di dover duplicare porzioni di codice. Premesso ciò una funzione può o meno restituire un valore a seconda dello scopo per la quale essa è stata scritta. Ad esempio una funzione che esegue un calcolo matematico restituirà il risultato di tale calcolo, una funzione che elabora una stringa retituirà la stringa elaborata. Quindi, non si tratta di dover o meno restituire un valore, dipende dallo scopo per il quale è stata scritta la funzione. Nel tuo caso specifico, se hai solamente bisogno di stamare a video una stringa puoi benissimo non restituire nulla inserendo l'echo direrramente all'interno della funzione. E' inutile e dannoso ai fini applicativi inventarsi cose strane quali le variabili globali o quant'altro.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376

    Re: Re: Semplice funzione php

    Originariamente inviato da Dascos
    Codice PHP:
    <?php
    /**
    * Semplice esempio
    */

    function pippo ($molt 1) {
    $var 3;
    return 
    $molt $var;
    }

    echo 
    pippo(7);

    ?>
    Non ci sono molte alternative.
    Usare le global nel modo suggerito è...deleterio e folle!

    [ot]
    La variabile $stringa, se dichiarata solo all'interno della funzione, non potrai mai usarla o recuperarla direttamente da fuori la funzione. Al massimo si può fare se non è una varibile della funzione ma è una variabile di istanza pubblica (e quindi la richiami dove vuoi e bene o male da dove vuoi) o privata (e la puoi recuperare solo dall'interno della classe). Lasciamo stare il caso delle variabili protette, che sinceramente ho visto raramente.
    [fine ot]
    diciamo che sto facendo una funzione come la tua:

    Codice PHP:
    function pippo () {
    //semplici operazioni
    return $stringa;

    se mi serve stampare il valore di $stringa farò:

    echo pippo();
    oppure
    $variabile = pippo();
    echo $variabile;

    A questo punto, poichè tu dici che "La variabile $stringa, se dichiarata solo all'interno della funzione, non potrai mai usarla o recuperarla direttamente da fuori la funzione. ", posso omettere del tutto il return nella funzione, tanto neanche posso usarela direttamente quella variabile di ritorno? cioè far diventare la funzione così:
    Codice PHP:
    function pippo () {
    //semplici operazioni


  9. #9
    No, forse non sono riuscito a spiegarmi bene
    I return è indispensabile per poter usare il risultato della funzione da qualche pate, ma non puoi usare una variabile definita dentro una funzione all'esterno di essa.
    codice:
    function pippo($molt = 1) {
    $int = 4;
    $ris = $molt * $int;
    return $ris;
    }
    
    echo pippo(6);
    è valida e stamperà a video "24".

    codice:
    function pippo($molt = 1) {
    $int = 4;
    $ris = $molt * $int;
    }
    
    echo pippo(6);
    è valida ma non stamperà nulla perchè la funzione pippo non ritorna un valore

    codice:
    $ris = 2;
    function pippo($molt = 1) {
    $int = 4;
    $ris = $molt * $int;
    return $ris;
    }
    
    $var = pippo(6);
    echo $ris;
    stamperà a video "2", perchè il $ris dentro la funzione pippo nasce e muore nella funzione.

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    376
    e se usassi una funzione personalizzata solo come fosse una specie di "include", cioè che contiene un pò di codice che non deve ritornare nulla ma mi va bene metterlo in un file a parte e richiamarlo dove mi serve? spesso faccio così e non ottengo errori.

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.