簡體   English   中英

PHP 在主程序中實例化 class,從函數訪問

[英]PHP instantiate class in main program, access from functions

閱讀有關單例和模式的內容讓我頭疼,必須有一種更簡單的方法...

我有一個很好的實用程序 function,稱為 log_it($severity,$message),它在許多程序中都使用。 它創建代碼到 append 應用程序特定的日志條目到磁盤上的共享日志。 當我在全局范圍內(使用 require)加載 function 時,它在整個程序中可用,在任何 function 中。

出於各種充分的理由,我將應用程序作為一個整體轉換為面向對象。 我想創建一個具有 log_it($severity,$message) 方法的記錄器 class 。

我想在全局 scope 中創建一次 object,並在函數中使用它。 我寧願不必在我想使用它的每個 function 中將 object 聲明為全局。 換句話說,我想模擬簡單的非對象 function 但使用 class 的全局可見性。 我想做的是在主程序中有 $log=new logger() ,然后從任何地方調用 $log->log_it() ,不用多說。

希望有一種簡單的方法可以做到這一點?

您可以將log_it聲明為 static 方法。 並從您想要的任何地方調用它,而無需實例化 class。 像這樣:

logger::log_it()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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