2013-07-05 65 views
0

我想學習codeacademy上的PHP OOP,我想我瘋了。 我以每種方式將我的代碼與示例代碼進行了比較,它只是不會工作! 請幫我明白是怎麼回事錯誤,當我嘗試回聲從對象$學生年齡屬性,從Person類PHP對象不會回顯屬性

<?php 
    class Person { 
     public $isAlive = true; 
     public $firstname; 
     public $lastname; 
     public $age; 
     public function __contruct($firstname, $lastname, $age) 
     { 
      $this->firstname = $firstname; 
      $this->lastname = $lastname; 
      $this->age = $age; 
     } 
    } 
    $teacher = new Person("boring", "12345", 12345); 
    $student = new Person('hans', 'hansen', 24); 
    $me = new Person('boring', '12345', 12345); 
    echo $student->age; 
    ?> 
+0

什麼錯誤? – sinaneker

+0

@sinaneker我認爲他的意思是'$學生 - >年齡'是空的,他期望它是24. – Mansfield

+0

@Mansfield一個好的,但是當我看它的代碼應該工作 – sinaneker

回答

7

你拼錯的「結構」,所以沒有被設置做出。

+1

哎。接得好。 –

+0

上帝該死!我知道我錯過了一件小事!謝謝!!! :) – Ben

+1

將此答案標記爲解決方案! –

0

這是一個語法錯誤...你寫__contruct

剛剛更換這一行試試:public function __construct($firstname, $lastname, $age)

好運學習PHP。

1

這是什麼?

public function __costruct($firstname, $lastname, $age) 

檢查拼寫costruct - 它必須是construct

+3

檢查'costruct'的拼寫:-) – Mash

+0

我自己寫錯了,指出錯誤。 –

+0

@Ben:請投票。 –

0

拼寫錯誤存在

class Person 
{ 
    public $isAlive = true; 
    public $firstname; 
    public $lastname; 
    public $age; 

    //spelling mistake exist 
    public function __construct($firstname, $lastname, $age) 
    { 
     echo $firstname; 

     $this->firstname = $firstname; 
     $this->lastname = $lastname; 
     $this->age = $age; 

     echo 'i work'; 
    } 

} 
$teacher = new Person("boring", "12345", 12345); 
$student = new Person('hans', 'hansen', 24); 

//print_r($student); 

if(is_object($student)) 
{ 
    echo $student->age; 
} 

$me = new Person('boring', '12345', 12345);