Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    23

    Importare in funzione una variabile con global, la rende globale ovunque?

    Piccola domanda:
    Se in una funzione importo una variabile, ad esempio
    global $var;
    questa variabile sarà anche disponibile al di fuori dello script che a sua volta ha richiamato la funzione? Per esempio, sarà disponibile in un file linkato ma presente sul server, con a href?
    E sarà disponibile in altre funzioni richiamate?
    O è un ambito limitato al file che include file e funzioni contenenti l'importazione con global?

    Non capisco il preciso "ambito" che questa specificazione impone.

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Una variabile globale è presente all'interno dell'esecuzione degli script se inclusi a vicenda, es. definisci una variabile in primo.php ed includendolo all'interno di secondo.php e/o terzo.php(in modo statico o dinamico) sarà presente

  3. #3
    La keyword global e' fonte di grande confusione. Usare global non DEFINISCE una variabile come globale, ma permette di ACCEDERE a una variabile globale all'interno di una funzione. In PHP una variable e' globale quando definita fuori da una funzione (o, ovviamente, da una classe).

    L'ambito in cui una variabile globale e' visibile e' composto dal singolo script piu' gli eventuali include. Non si possono condividere variabili tra script lanciati separatamente, se non usando le sessioni.

    Detto questo le variabili globali sono il male e ogni volta che ne usi una da qualche parte un gattino muore

  4. #4
    Quote Originariamente inviata da k.b Visualizza il messaggio
    Detto questo le variabili globali sono il male e ogni volta che ne usi una da qualche parte un gattino muore
    una domanda riguardo a questa affermazione.
    intendi variabili settate come global, o intendi una variabile settata a inizio script (ad esempio nell'header) che poi viene usata in tutti gli script sottostanti (ad esempio nel body e nel footer)??

  5. #5
    Quote Originariamente inviata da fermat Visualizza il messaggio
    una domanda riguardo a questa affermazione.
    intendi variabili settate come global, o intendi una variabile settata a inizio script (ad esempio nell'header) che poi viene usata in tutti gli script sottostanti (ad esempio nel body e nel footer)??
    Non mi e' chiaro cosa intendi per "settate come global".

    Comunque il concetto e' che se tu hai qualcosa come:
    Codice PHP:
    $user_id 12;

    include 
    'misc_lib.php';

    echo 
    $user_id
    e poi da qualche parte in una remota funzione dentro misc_lib.php o altro file in esso incluso c'e'
    Codice PHP:
    global $user_id;

    if (
    $user_id 14) {
        
    //

    buona fortuna a trovare la riga in cui quell'if ha UN SOLO UGUALE ANZICHE' DUE e ti cambia $user_id da 12 a 14 nel tuo script principale

    Se invece di usare le variabili globali si usano sempre funzioni con argomenti e valori di ritorno, allora si sa sempre dove e quando vengono (o possono venire) modificati i valori.

  6. #6
    ok con questo esempio mi hai perfettamente risposto!
    grazie!

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    23
    Grazie infinite!!! Chiarissimo.

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.