2012-06-30 3 views
0

okey так вот моя структура.Переменные из разных классов - php

one.php two.php three.php

one.php включает в себя как two.php и three.php

two.php является

class two { 
    function test(){ $var ='gello'; }} 

three.php является

class three { 
function testt(){ $var ='hello'; }} 

Так как же я могу использовать переменную $ var из two.php в three.php?

в one.php я могу сделать это с помощью

$one = new two(); 
$one->var; 

любая помощь будет оценена.

Благодаря

+1

Добро пожаловать в переполнение стека! –

+0

Добро пожаловать и попробуйте, пожалуйста, чтобы форматировать код лучше. – Cranio

+0

Можете ли вы не просто сделать то же самое? До тех пор, пока two.php включен до трёх.php, почему бы ему не работать? Что вы получили, когда пытались это сделать? –

ответ

1

Вам нужно определить переменную outiside функции

Когда вы пишете внутри функции, только функция знает, кто $var и показать тэ правильного значения.

class two { 
    public $var = 'foo'; 

    function setVar($var = 'foo') { 
     $this->var = $var; 
    } 
} 

class three { 
    function test() { 
     $two = new two(); 
     echo($two->var); // Show 'foo' 

     $two->setVar('bar'); 
     echo($two->var); // Show 'bar' 
    } 
} 

// Result 'foo' 
$one = new two(); 
echo($one->var); 

// Result 'fooz' 
$one->setVar('fooz'); 
echo($one->var); 

// Result 'foo' and 'bar' 
$three = new three(); 
$three->test();