2011-08-23 145 views
0

我有3個文件類擴展在PHP

1. a.php 

    <? 
    class a { 
     public function name() { 
      return "My name is ukungzulfah"; 
     } 
    } 
    ?> 

2. b.php 

    <? 
    class b extends a { 
     function na() { 
      echo $ this-> name(); 
     } 
    } 

    ?> 

3.c.php 

    <? 
    include "a.php"; 
    include "b.php"; 

    $ te = new b; 
    echo $ te:: na(); 

    ?> 

結果的是一個錯誤: 致命錯誤:使用$此PLS音符在C對象上下文:\ XAMPP \ htdocs中\ sampleNetbeans \控制器\ welcome.php on line 4.

上面的代碼有問題嗎?如果從b.php中調用沒有問題,只有通過c.php文件調用該問題。

+0

你可以把所有3類 –

回答

4

使用靜態語法($object::method())當您需要使用實例的語法($object->method())。

嘗試echo $te->na();而不是echo $te::na();

這是我可以在你粘貼的代碼中看到的唯一問題,除了不尋常的空白($ te$ te:: na()),這實際上會導致我編譯器錯誤。

+0

非常感謝你的全部代碼,不知何故,我忘了,也許是因爲快過節不同的思想,再次感謝你。 – ukung