PDA

View Full Version : [PHP]Condividere variabile tra 2 classi


Mattyfog
19-11-2010, 20:25
Raga ho un problemuccio che non so come risolvere.
Se io ho una variabile esterna a una classe come faccio ad usarla nella classe?
Il mio obbiettivo sarebbe quello di usare la variabile senza passarla come parametro alla funzione.
Come posso fare?
Esempio

<?php

$variabile = "prova";

class classe {

public static function funzione() {
echo $variabile;
}
}

classe::funzione();

?>

Il codice chiaramente dà un errore.

bobbytre
19-11-2010, 22:19
Raga ho un problemuccio che non so come risolvere.
Se io ho una variabile esterna a una classe come faccio ad usarla nella classe?
Il mio obbiettivo sarebbe quello di usare la variabile senza passarla come parametro alla funzione.
Come posso fare?
Esempio

<?php

$variabile = "prova";

class classe {

public static function funzione() {
echo $variabile;
}
}

classe::funzione();

?>

Il codice chiaramente dà un errore.


<?php

$variabile = "prova";

class classe {

public static function funzione() {
global $variabile;
echo $variabile;
}
}

classe::funzione();

Mattyfog
19-11-2010, 23:05
Avresti una soluzione che mi permetta di usare la variabile $variabile senza dover prima usare il comando global $variabile in ogni funzione? IN pratica poter usare $variabile in tutta la classe definendo global $variabile per tutta la classe.

bobbytre
19-11-2010, 23:58
se devi usare un metodo statico non mi viene in mente nulla in questo momento al di fuori di usare "global"

se invece instanzi la classe normalmente esistono tante soluzioni, es.

<?php

$variabile = "prova";

class classe {
var $variabile = "";

function classe($var)
{
$this->variabile = $var;
}

function funzione() {
echo $this->variabile;
}
}

$my_classe = new classe($variabile);
$my_classe->funzione();

Mattyfog
20-11-2010, 13:01
A me però servirebbe proprio usarlo in un metodo statico...