2014-07-09 28 views
0

我想保存一個對象作爲另一個類中的屬性,PHP拋出通知和致命錯誤。我的代碼簡化版:PHP:試圖獲取非對象的屬性或方法

<?php 
    class A { 
     public function a() { 
      // do something 
     } 
    } 
    $A = new A(); 

    class B { 
     private $A; 
     public function __constructor($A) { 
      $this->A = $A; 
     } 
     private function b() { 
      if($this->A->a()) { // This line is referred by PHP 
       // do something 
      } 
     } 
    } 

    $B = new B($A); 
+0

引發什麼通知和致命錯誤?你永遠不會調用B類的方法b(),所以你不應該在這一行中得到一個錯誤。你說你使用你的代碼的簡化版本。簡化版本發生錯誤嗎? – Seb

+0

@Seb問題已解決。 –

回答

1

您有一個錯字。將__constructor更改爲__construct,PHP將正確處理您的代碼。 PHP中的構造函數始終命名爲__construct。有關更多詳細信息,請參閱the documentation

+0

對不起,我看到我寫了'constructor'而不是'construct':D –

+0

:)如果這解決了你的問題,請記住接受它作爲答案! –

+1

我知道,但它讓我等了10分鐘,當時我不得不走,對不起。我現在已經接受了答案。 –

相關問題