作者s5846125 (陸奧鬼一)
看板PHP
標題[請益] class extends 的位置
時間Sat Jun 19 15:41:10 2010
原本的寫法:
<?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