我有一些使用彼此功能的類。拿這個下面例如:有沒有辦法強制php在當前命名空間中使用類?
namespace app/myclass;
class FirstClass
{
public function getSecondClass()
{
return SecondClass::instance();
}
}
namespace app/myclass;
class SecondClass
{
public function getFirstClass()
{
return FirstClass::instance();
}
}
現在我已經在另一個命名空間的子類,如下所示:
namespace front\myclass;
class FirstClass extends \app\myclass
{
public function someMethod()
{}
}
namespace front\myclass;
class SecondClass extends \app\myclass
{
public function someMethod()
{}
}
當我使用instance()
方法從子類,它會從父類返回實例。是否有可能使它從當前命名空間返回,因爲它是?
例如:
$myclass = new \front\myclass\FirstClass;
$instance = $myclass->getSecondClass(); \\ will return \app\myclass\SecondClass
我想它返回front\myclass\SecondClass
沒有,而不必重寫方法,因爲我有一個應該使用同樣的規則很多文件。
您是否在擴展命名空間或名爲myclass的類? – frz3993
擴展類... Erm如何擴展名稱空間? O.O – user2707590
您使用的名稱空間不能擴展。像'使用app \ myclass;'一樣。命名空間使用反斜槓。 – frz3993