我是新來的PHP,並嘗試使用namespace
S爲第一次和我有一個很大的PHP文件這個瘋狂的問題(如下簡化):使用類的PHP類方法
B. PHP:
namespace Logic;
class C {}
class B {}
a.php只會:
use Logic\C;
class A extends \BaseClass {
public function __construct() {}
// [...500 lines of code...]
private function hi() { $c = new C(); }
}
的hi
方法給出了錯誤:Class 'Logic\\C' not found in A.php
但如果我只是在A的構造函數引用B,它按預期工作:
class A extends \Base {
public function __construct() { $dummy = new C(); }
// [...500 lines of code...]
private function hi() { $c = new C(); }
}
在上面運行修改後的代碼的hi
方法,不存在任何問題。
任何人都可以想到爲什麼發生這種情況的合理解釋?我濫用php中的命名空間?
我有你的代碼沒有問題,但你必須確保使用'喜之前B.php包括( )'方法。 – Furgas 2015-02-11 12:58:24