2010-10-26 57 views
0

我很困惑,爲什麼它不會顯示名稱。我期望看到輸出,「傑弗裏」,但它不。我創建了一個參數傳遞給構造函數的對象,所以我期望顯示「JEFFREY」,但它沒有。我在構造函數中添加了echo函數以查看它是否輸出jeffrey,並且它也沒有迴應。 PHP沒有顯示任何錯誤。我做錯了什麼?PHP編碼問題:這將不會顯示名稱

class person { 

public $name; 

function __constructor($name) 
{ 
    $this->name=strtoupper($name); 
    echo $name; 
    } 

    function displayName() 
    { 
    echo "<h1>$this->name</h1>"; 
    } 

} 

$m = new person("jeffrey"); 
$m->displayName(); 
+1

您有一個錯誤在你定義的構造方法,它應該是函數__construct() – 2010-10-26 20:04:42

回答

6

你有一個語法錯誤:構造函數必須命名爲__construct(),不__constructor()

您的構造函數永遠不會被調用,$this->name永遠不會被保存。

+0

現在,我笑了起來。 :)感謝您指出錯誤的功能。我在PHP文檔中查看「構造函數」,這就是爲什麼我鍵入構造函數()..哦,以及.. :) – netrox 2010-10-26 20:08:17

+1

順便說一句,再次感謝大家! – netrox 2010-10-26 20:09:22

2
function __construct() 

function __constructor() 
0

我相信__constructor($名)應與__construct($名)來代替。 __constructor不是類的標準部分。如果您願意,您也可以將其更改爲人員($姓名)。

http://www.php.net/manual/en/language.oop5.decon.php

+0

'person($ name)'是舊的PHP風格,不過。 – 2010-10-26 20:02:07

+0

是的,由於不推薦使用,但是如果有人想使用它,它仍然可以工作。 – shmeeps 2010-10-26 20:04:06