Function e variabili???

  • Creatore Discussione Creatore Discussione ivarello
  • Data di inizio Data di inizio

ivarello

Utente Attivo
14 Dic 2012
211
1
16
ragazzi domandina della sera molte volte mi capita che richiamando un function tipo
PHP:
function prova() {
echo $nome_prova
}

in un altra pagina, non mi esegua la funzione perchè non sa cosa sia la variabile "$nome_prova", c'è un modo per passare le variabili??
Ho provato con:
PHP:
<?php
include('include/funzioni.php')
prova($nome_prova);
?>
ma non funziona :S aiutatemi a capire.
 
O la passi come argomento nella funzione

PHP:
function prova($var){
  echo $var;
}

oppure la ricavi tramite global
PHP:
function prova(){
  global $nome_prova;
  echo $nome_prova;
}
 
Ultima modifica:
Comunque l'utilizzo di variabili globali è sconsigliato in un'applicazione seria perché induce uno stato globale dell'applicazione.
Dai un'occhiata a questa risposta su StackExchange se vuoi saperne di più.
Beh, che sia buono o no quello è l'unico modo in procedurale senza passare argomenti, inoltre basta saperle gestire e ti risparmiano molto tempo in un progetto non totalmente ad oggetti e di medie dimensioni, basta vedere wordpress che per quanto faccia schifo in pratica si basa su quelle e non se la passa affatto male.


Ti invito anche a leggere questa risposta molto interessante
http://stackoverflow.com/questions/...sidered-bad-practice-if-so-why#answer-1557799
 
ciao
se posso dire la mia.
io non uso le globali perche si perde una delle caratteristiche importanti delle funzioni e cioe che le varibili interne alla funzione esistono solo all'interno della stessa evitando così eventuali errori di doppio nome, soprattutto se si usa la stessa funzione in più script.
e ciò che evita errori è sempre benvenuto
 
ciao
se posso dire la mia.
io non uso le globali perche si perde una delle caratteristiche importanti delle funzioni e cioe che le varibili interne alla funzione esistono solo all'interno della stessa evitando così eventuali errori di doppio nome, soprattutto se si usa la stessa funzione in più script.
e ciò che evita errori è sempre benvenuto
Per il doppio nome basta mettere dei pezzi di nome predefiniti

del tipo
PHP:
$gb_var;
$gb_var1;
$gb_var2;

Comunque ognuno puo usare ciò che vuole ovviamente :mexican:
 
ciao
forse non ci siamo compresi.
oggi faccio uno script e un file di funzioni da includere.
tra un mese (o di più) faccio un altro script e mi ricordo di aver gia fatto una funzione che mi serve e che posso includere.
domanda: perche scerverlarmi per vedere se le variabili del nuovo script vanno in conflitto con le variabili della funzione fatta tempo addietro?

p.s.
non uso wp (ne altri cms), se wp è un contenitore di bugs oppure no, come suol dirsi, "non me ne può fregà de meno".
fatto male, ma quello che faccio lo faccio tutto manina - manina
 
ciao
forse non ci siamo compresi.
oggi faccio uno script e un file di funzioni da includere.
tra un mese (o di più) faccio un altro script e mi ricordo di aver gia fatto una funzione che mi serve e che posso includere.
domanda: perche scerverlarmi per vedere se le variabili del nuovo script vanno in conflitto con le variabili della funzione fatta tempo addietro?

p.s.
non uso wp (ne altri cms), se wp è un contenitore di bugs oppure no, come suol dirsi, "non me ne può fregà de meno".
fatto male, ma quello che faccio lo faccio tutto manina - manina
Hai fatto un esempio poco azzeccato, se fai uno script a parte ogni volta è ovvio che utilizzerai delle funzioni passando solamente argomenti, ma in un progetto di medie dimensioni (non basato interamente sull'OOP, sennò si sono inutili) possono essere utili e farti risparmiare tempo.

ps:
anch'io preferisco fare cosi, wordpress l'ho usato qualche volta ed appunto ho visto che le global sono usate spesso. Questo non è per elogiare wp ma per farti vedere che basta saperle gestire correttamente perché non diano problemi e ti facciano risparmiare tempo.
 
Ultima modifica:

Discussioni simili