[英]PHP Class Property/Method Synchronization
修訂-我在文件中分布了多個類定義(每個文件一個類)。 我想做的就是這個; 我有一個稱為Master
的類,它創建了一個實例,然后Master
對象創建了其余已定義類的實例。 Master
在其中定義了我所有的屬性。
在Master
創建的實例中,我希望能夠直接使用$this
即$this->methodInMaster
來使用Master
的屬性/方法,而無需將Master
的對象傳遞給新實例,存儲它並調用$this->MasterInstance->methodinMaster
。 有什么辦法可以做到這一點?
extends
關鍵字對我完全沒有幫助; 這些類Master
創建的實例將繼承屬性和方法的Master
這種情況下做出的性質,但是任何的變化Master
是在沒有“拯救” Master
對象,只是所做的更改的對象。 換句話說,這些更改在任何其他類中都不可見。
我相信這是不能使事物成為靜態的限制,因此沒有“實例”,但是有沒有辦法使用call, set
和get
魔術方法來解決所有這些問題呢?
擴展對您沒有幫助,因為它不是您所需要的:如果您希望單個對象可以被許多實例訪問,則您需要一個Singleton (它必須是靜態的,因為替代品具有某種不切實際的共享單個引用的形式)。 對於所需的結構,您將需要一個與Master類不同的Singleton,但可以通過它訪問它。 基本上,您的工作流程將是:
這樣,子類中的每個調用將透明地“重定向”到對單例的調用。 這樣做不是很優雅(與直接訪問子類中的單例相反),但是它應該適合您的設計。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.