2
創建的類使用命名空間因此,我創建這兩個類與可變
//Quarter.php
namespace Resources;
class Quarter {
...
}
//Epoch.php
namespace Resources;
class Epoch {
public static function initFromType($value, $type) {
$class = "Quarter";
return new $class($value, $type);
}
}
現在,這是兩者的一個非常簡化的版本,但也足以說明我的問題。這裏顯示的類不起作用,因爲它不會找到Quarter類。爲了使它工作,我可以在$類變量更改爲
$class = "\Resources\Quarter";
所以我的問題是:爲什麼我需要在這兩個類都已經同一個命名空間的成員在這裏使用的命名空間。命名空間只有當我把類名放入一個變量時才需要這麼做:
public static function initFromType($value, $type) {
return new Quarter($value, $type);
}
將工作沒有問題。爲什麼會這樣,我是否有任何潛在的陷阱需要避免?
感謝您的好回答欺騙:) – Sondre