[英]How Kohana make chain between static and non-static?
我在Kohana中不擅長PHP和新手。
我非常感興趣Kohana如何構建這個結構: Request::current()->controller()
。 我們調用靜態方法,然后調用非靜態方法。
我怎么能組織類似的結構?
Request::current()
將返回一個對象,並在該對象上執行controller()
方法。
我知道你在使用靜態和非靜態的同時感到困惑。 它根本不會令人困惑。 鑒於這兩個類:
static class StaticClass
{
public function GetSomeObject
{
return new SomeObject();
}
}
class SomeObject
{
public function DoSomething()
{
// Do something
}
}
然后,您可以自己初始化SomeObject,並執行其方法:
$someObject = new SomeObject();
$someObject->DoSomething();
但在某些情況下,這是不可取的。 我可以想象StaticClass
是某種存儲庫(例如單例或工廠),管理您的SomeObject
實例。 您必須從StaticClass中檢索所有SomeObject
。 在這個例子中,這樣做:
$someObject = StaticClass::GetSomeObject();
然后,您可以再次調用該方法:
$someObject->DoSomething();
后兩者可以像這樣寫:
StaticClass::GetSomeObject()->DoSomething();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.