看板 PHP 關於我們 聯絡資訊
原本的寫法: <?php $myClass = new Class1(); $myClass->xxx(); /* 其它的 code... */ class Class1 { function xxx(){...} function yyy(){...} } ?> 以上的 code 可以正常的執行。 後來用了 extends: <?php include('class.class1.php'); // class Class1{} 寫在這裡 $myClass = new Class2(); $myClass->xxx(); class Class2 extends Class1 { function xxx(){...} function zzz(){...} } ?> 出現了以下的錯誤訊息: Fatal error: Class 'Class2' not found in xxxx.php on line 3 目前是把 Class2{} 移到 new Class2() 之前,可以避免 error。 想請問為什麼一樣把 class{} 寫在後面, 但是用了 extends 卻會出現錯誤訊息? 有請板上高手的解答,謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.172.3
appleboy46:程式碼是從上面往下面讀取.... 你要 new Class2 06/19 18:12
appleboy46:前面就必須先寫好 Class2 class 06/19 18:13
s5846125:我有想到順序的問題,只是因為寫法一可以執行,所以才會 06/19 21:46
s5846125:發這篇請益。 06/19 21:47
ylk:你確定檔案路徑是正確且真的有被include到? 06/19 23:29
ylk:你先換成 require 試試看有沒有error msg吧。 06/19 23:29
s5846125:to ylk:寫法二:我只把Class2{}移到new之前。其它都沒動。 06/20 12:49
s5846125:我用class_exists()測過,Class2寫在前面才會是true。 06/20 12:50