Function e variabili???

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.
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
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:

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
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
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
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:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
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
Autore Titolo Forum Risposte Data
pacemattia408 disattivazione di una function Javascript 4
W Microsoft OLE DB Provider for Visual FoxPro error '80040e14' Function name is missing ). Classic ASP 0
L [PHP] Fatal error: Call to a member function prepare() on null in PHP 0
A [PHP] public static function isEan13 PHP 3
M leggere con jquery/ajax in una function javascript record di database sql server Javascript 0
Y [Javascript] suggerimenti su utilizzo onreadystatechange = function() Javascript 7
Cosina Link in document ready function jQuery 0
C [PHP] Errore "Fatal error: Call to undefined function getTotalUsers()" PHP 2
B mysql_connect() [function.mysql-connect]: Access denied for user... PHP 13
bubino8 [Javascript] Problema function eseguita solo la prima volta Javascript 1
G [PHP] Problema - Warning: session_start() [function.session-start] PHP 9
G [RISOLTO][PHP] Call to a member function num_rows() on a non-object PHP 9
A Errore PHP: Call to a member function on null PHP 5
V Jquery function find jQuery 7
U [PHP] Fatal error: Call to a member function Query() PHP 1
D Perchè la function non funziona? Javascript 0
F Output html function jQuery 1
O Fatal error: Call to undefined function testNome() in C:\xampp\...\...\index.php on line 51 PHP 4
JackIlPazzo Fatal error: Call to a member function execute() on a non-object PHP 2
felino [JQuery] TypeError: $ is not a function jQuery 1
filippino Fatal error: Cannot redeclare (function) PHP 2
P Call to a member function bind_param() on a non-object PHP 5
JackIlPazzo PHP: Fatal error: Call to a member function bind_param() on a non-object PHP 0
M Function - Class + OOP Javascript 1
K mail() [function mail]: failed to connect to mailserver at localhost port 25 PHP 1
F [RISOLTO]js function per impostare minimo totale Javascript 8
F problemi con $.each(data, function(i,item) e getElementById("livello").innerHTML= Javascript 0
P Call to a member function Send() on a non-object PHP 6
M fatal error: Call to undefined function gdrcd_filter() PHP 6
A function conferma Javascript 6
M scope callback function Javascript 1
S Help : Warning: mail() [function.mail] PHP 2
A Navigazione jQuery [era: $(document).ready(function(){] jQuery 3
C Colorare i button con una function Javascript 35
T Fatal error: Call to a member function show_crom() on a non-object PHP 1
G Problema [function mail] Aruba Hosting 0
V Function ed Array PHP 7
F Function session_is_registered() is deprecated PHP 16
A inserire la function orologio() in un div Javascript 12
C Function auto completamento campo zipcode PHP 3
C Inserimento key in una function strurl Javascript 0
B function con query non funzionante PHP 3
F Fatal error: Call to undefined function PHP 9
C Come richiamare una function di controllo Javascript 0
ciacos74 PHP errore function.session-start PHP 25
C Spedire via Mail il risultato di una Function CMS (Content Management System) 3
catellostefano smarty assign function PHP 1
Z function createThumbnail PHP 4
D Errori php 4 es: Function ereg() is deprecated PHP 2
A Function.strpos Javascript 3

Discussioni simili