2014-09-01 189 views
-1

我編寫了一個非常簡單的PHP類。但它不起作用。我的PHP版本是:5.4.16

這裏是我的我的PHP代碼:PHP類代碼不能正常工作

class FirstClass 
{ 
    public $name = "hello, world!"; 

    public function displayName() 
    { 
     echo $this->name; 
    } 
} 

我知道它的一個非常簡單的PHP代碼,但不知道爲什麼它不工作。它也沒有給出任何錯誤或警告。我仍然對PHP很陌生,並試圖瞭解PHP如何工作。

+0

您必須調用該函數才能執行它。 – 2014-09-01 05:04:46

+0

添加這行代碼,'displayname();'將完成這項工作。 – 2014-09-01 05:05:23

+0

這應該工作你有沒有創建類的對象,並調用公共方法'displayName()' – 2014-09-01 05:05:46

回答

3

您剛剛創建了函數的類和定義,但是您並未執行它。試試這個,

<?php 
    class FirstClass 
    { 
     public $name = "hello, world!"; 

     public function displayName() 
     { 
      echo $this->name; 
     } 

    } 

    $firstclass=new FirstClass; // Object for the class 

    $firstclass->displayName(); // Call the function with the object 
?> 

Demo here.

+0

感謝它的工作 – 2014-09-01 05:12:32

2

試試這個

class FirstClass 
{ 
    public $name = "hello, world!"; 

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

$obj = new FirstClass();//Creating an object of the class 
echo $obj->displayName();//Calling the function 

您剛剛創建的類,並在類中定義的功能。但是你從來沒有調用類和它的函數。爲了在類中的函數中執行語句,你需要做兩件事。

  1. 創建類

  2. 使用該對象調用它包含所需的代碼的功能的對象。

而且see this更多的文檔

+4

'displayName'方法已經有'echo'。執行它時不需要再次寫入'echo'。 – dashtinejad 2014-09-01 05:09:43

+0

感謝其工作 – 2014-09-01 05:11:52

1

,如果你創建類的一個對象,並調用你的函數

這樣

class FirstClass 
{ 
    public $name = "hello, world!"; 

    public function displayName() 
    { 
    echo $this->name; 
    } 
} 

$obj = new FirstClass(); 
$obj->displayName(); 

這必須工作在SEE DEMO

+0

感謝其工作 – 2014-09-01 05:12:08

1

你的代碼是正確的。你有沒有實例化課堂?

$foo = new FirstClass(); 
    $foo->displayName(); 

一個類有點像描述。除非它具有靜態屬性/方法,否則它本身並不真正做任何事情。你必須創建一個新的FirstClass對象。