Grazie in anticipo.
[PHP] Chiamare una variabile esterna all'interno di un return in una funzione
-
afullo
- Scoppiettante Seguace

- Messaggi: 622
- Iscrizione: venerdì 5 settembre 2008, 0:34
- Località: Almese (TO)
- Contatti:
[PHP] Chiamare una variabile esterna all'interno di un return in una funzione
PHP: ho una funzione che ritorna una stringa, come posso fare affinché parte di questa stringa dipenda da una variabile definita esternamente alla funzione (non come suo argomento) ? 
Grazie in anticipo.
Grazie in anticipo.
Re: [PHP] Chiamare una variabile esterna all'interno di un return in una funzione
Cioe' tu intendi una situazione di questo tipo
Dove $mondo e' esterna alla funzione e si vuole visualizzarla subito dopo "Hello " ?
Puoi semplicemente passare $mondo come parametro
Devi passargliela per forza in input.
Questioni di scope...
Codice: Seleziona tutto
function funz(){
return "Hello "./*variabile esterna*/
}
$mondo = "World";
funz();
Puoi semplicemente passare $mondo come parametro
Codice: Seleziona tutto
function funz($world){
return "Hello ".$world
}
$mondo = "World";
funz($mondo);
Questioni di scope...
Aiuto utenti linux, esercizi svolti di matematica e teoria (statistica e analisi), strumenti matematici vari (scomposizione fattori primi, permutazioni, ...), progetti software didattici con documentazioni. Tutto qui : http://pierprogramm.altervista.org/wordpress
-
afullo
- Scoppiettante Seguace

- Messaggi: 622
- Iscrizione: venerdì 5 settembre 2008, 0:34
- Località: Almese (TO)
- Contatti:
Re: [PHP] Chiamare una variabile esterna all'interno di un return in una funzione
Nella fattispecie la situazione è così:
[php]
$width = "162"
function gruppo($titolo, $colore, $bordo) {
return '
'. $titolo .'
'; }
[/php]
Vorrei che quel 162 dentro la function fosse sostituito da un richiamo di $width, per poi fare in modo che anche il 142 e il 132 fossero sostituiti da $width-20 e $width-30, in modo tale che se dovessi cambiare la larghezza mi basterebbe parlo soltanto cambiando il valore della variabile (la sostituzione la andrei a fare anche altrove, questo è solo un esempio).
Se metto un parametro in più nella funzione, però, ogni volta che la richiamo gliene devo dare 4, non 3, per cui dovrei andare a modificare tutti i richiami ovunque li abbia fatti. Se possibile vorrei evitare di dover operare queste modifiche...
[php]
$width = "162"
function gruppo($titolo, $colore, $bordo) {
return '
'. $titolo .'
'; }
[/php]
Vorrei che quel 162 dentro la function fosse sostituito da un richiamo di $width, per poi fare in modo che anche il 142 e il 132 fossero sostituiti da $width-20 e $width-30, in modo tale che se dovessi cambiare la larghezza mi basterebbe parlo soltanto cambiando il valore della variabile (la sostituzione la andrei a fare anche altrove, questo è solo un esempio).
Se metto un parametro in più nella funzione, però, ogni volta che la richiamo gliene devo dare 4, non 3, per cui dovrei andare a modificare tutti i richiami ovunque li abbia fatti. Se possibile vorrei evitare di dover operare queste modifiche...
Re: [PHP] Chiamare una variabile esterna all'interno di un return in una funzione
Mmm... Adesso mi viene in mente che..
Potresti creare una classe che abbia come metodo gruppo($titolo, $colore, $bordo) e come campo $width
Lo sconveniente e' che dovresti comunque modificare le chiamate alla funzione, perche' devi creare l'oggetto.
$group = new Gruppo();
$group->gruppo($titolo, $colore, $bordo);
Potresti creare una classe che abbia come metodo gruppo($titolo, $colore, $bordo) e come campo $width
Codice: Seleziona tutto
class Gruppo{
public $width = 162;
public function gruppo($titolo, $colore, $bordo){
// la tua funzione
}
}
$group = new Gruppo();
$group->gruppo($titolo, $colore, $bordo);
Aiuto utenti linux, esercizi svolti di matematica e teoria (statistica e analisi), strumenti matematici vari (scomposizione fattori primi, permutazioni, ...), progetti software didattici con documentazioni. Tutto qui : http://pierprogramm.altervista.org/wordpress
-
afullo
- Scoppiettante Seguace

- Messaggi: 622
- Iscrizione: venerdì 5 settembre 2008, 0:34
- Località: Almese (TO)
- Contatti:
Re: [PHP] Chiamare una variabile esterna all'interno di un return in una funzione
Qui mi hanno proposto una soluzione con global che funziona, o perlomeno sembra funzionare:
http://forum.html.it/forum/showthread.p ... id=1471385
Grazie per il supporto comunque, terrò conto delle soluzioni da te proposte, visto che mi è anche stato detto che le variabili globali andrebbero utilizzate il meno possibile, per cui nel caso dovessi fare una cosa da zero potrei valutare di utilizzare un altro modo, qui era solo per evitare di andare a modificare anche altrove più e più richiami...
http://forum.html.it/forum/showthread.p ... id=1471385
Grazie per il supporto comunque, terrò conto delle soluzioni da te proposte, visto che mi è anche stato detto che le variabili globali andrebbero utilizzate il meno possibile, per cui nel caso dovessi fare una cosa da zero potrei valutare di utilizzare un altro modo, qui era solo per evitare di andare a modificare anche altrove più e più richiami...
Re: [PHP] Chiamare una variabile esterna all'interno di un return in una funzione
IEP ti stavo per rispondere poi ho visto questo intervento.afullo ha scritto: Qui mi hanno proposto una soluzione con global che funziona, o perlomeno sembra funzionare:
http://forum.html.it/forum/showthread.p ... id=1471385
Grazie per il supporto comunque, terrò conto delle soluzioni da te proposte, visto che mi è anche stato detto che le variabili globali andrebbero utilizzate il meno possibile, per cui nel caso dovessi fare una cosa da zero potrei valutare di utilizzare un altro modo, qui era solo per evitare di andare a modificare anche altrove più e più richiami...![]()
Rendere una variabile globale è il metodo più veloce, ma sicuramente meno raffinato.
L'idea della classe è carina
Re: [PHP] Chiamare una variabile esterna all'interno di un return in una funzione
Non è del tutto corretto: se tu aggiungi un parametro con defaultSe metto un parametro in più nella funzione, però, ogni volta che la richiamo gliene devo dare 4, non 3, per cui dovrei andare a modificare tutti i richiami ovunque li abbia fatti.
function gruppo($titolo, $colore, $bordo,$width="")
nessuno si accorgerebbe della modifica e a te basterebbe testare nella function il caso:
se $width è diverso da "" allora uso il suo valore
else come prima
così non usi variabili globali...
Re: [PHP] Chiamare una variabile esterna all'interno di un return in una funzione
I parametri opzionali di PHP ma certo!! Mi confondevo con il Java che non li ha.gibux ha scritto:Non è del tutto corretto: se tu aggiungi un parametro con defaultSe metto un parametro in più nella funzione, però, ogni volta che la richiamo gliene devo dare 4, non 3, per cui dovrei andare a modificare tutti i richiami ovunque li abbia fatti.
function gruppo($titolo, $colore, $bordo,$width="")
nessuno si accorgerebbe della modifica e a te basterebbe testare nella function il caso:
se $width è diverso da "" allora uso il suo valore
else come prima
così non usi variabili globali...
Ti consiglio di fare come dice gibux
Aiuto utenti linux, esercizi svolti di matematica e teoria (statistica e analisi), strumenti matematici vari (scomposizione fattori primi, permutazioni, ...), progetti software didattici con documentazioni. Tutto qui : http://pierprogramm.altervista.org/wordpress
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti