[請益] class extends 的位置

看板PHP作者 (陸奧鬼一)時間15年前 (2010/06/19 15:41), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/1
原本的寫法: <?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

06/19 18:12, , 1F
程式碼是從上面往下面讀取.... 你要 new Class2
06/19 18:12, 1F

06/19 18:13, , 2F
前面就必須先寫好 Class2 class
06/19 18:13, 2F

06/19 21:46, , 3F
我有想到順序的問題,只是因為寫法一可以執行,所以才會
06/19 21:46, 3F

06/19 21:47, , 4F
發這篇請益。
06/19 21:47, 4F

06/19 23:29, , 5F
你確定檔案路徑是正確且真的有被include到?
06/19 23:29, 5F

06/19 23:29, , 6F
你先換成 require 試試看有沒有error msg吧。
06/19 23:29, 6F

06/20 12:49, , 7F
to ylk:寫法二:我只把Class2{}移到new之前。其它都沒動。
06/20 12:49, 7F

06/20 12:50, , 8F
我用class_exists()測過,Class2寫在前面才會是true。
06/20 12:50, 8F
文章代碼(AID): #1C77IRXB (PHP)
文章代碼(AID): #1C77IRXB (PHP)