2014-06-08 42 views
0

我有這樣的例子:PHP如何調用/保存一個公共變量在類

class test_names { 
     public name = 'ralph'; 

     function dispname() { 
      return $this->name; 
     } 
    } 

$test = new test_names; 
$test->name = 'John'; 
$test->dispname; 

現在的結果將是「約翰」,因爲我救了,在去公共變種現在

我有另一個文件名爲test2.php和我這樣做:

$test = new test_names; 
    $test->dispname; 

的結果將是「拉爾夫」 ,但我不希望這樣,我希望它是「約翰」(我以前有設定值)

我該如何做到這一點?

+1

什麼是兩個PHP文件之間的關係? – Jon

+1

使用一個靜態變量'name'。 –

+0

對不起,第一個文件叫做class.test_names.php,我把這個類放在這裏。然後我有一個名爲test1.php的文件,我稱之爲類,並將名稱設置爲「john」。我還有另一個名爲test2.php的文件:我在那裏調用這個類,只顯示名稱,我希望它是「John」,正如我在test1.php中定義的那樣 –

回答

0

不要再實例化類,你已經做到了:

更換

$test = new test_names; 
    $test->dispname; 

通過

$test->dispname; 
+0

是的,我知道,但我instanciate在test1.php中的類,現在我想在test2.php中也使用相同的類,所以我確實需要在test2.php再次instanciate它? –

+2

類和從它創建的對象(實例)之間存在差異。當你「新建類」時,你會得到該類的一個實例。所有的非靜態屬性僅適用於該實例。見http://stackoverflow.com/questions/2206387/what-is-a-class-in-php/2206835#2206835 – Gordon