簡體   English   中英

Kohana如何在靜態和非靜態之間建立鏈接?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM