PHP在主程序中实例化类,从函数访问

PHP在主程序中实例化类,从函数访问,php,object,scope,Php,Object,Scope,读到关于单身和模式的书,我感到头疼,一定有更简单的方法 我有一个很好的实用函数,叫做log_it($severity,$message),它在许多程序中都使用。它创建代码,将特定于应用程序的日志项附加到磁盘上的共享日志中。当我全局加载函数一次(使用require)时,它在整个程序中,在任何函数中都是可用的 出于各种原因,我将应用程序作为一个整体转换为面向对象。 我想创建一个logger类,它有一个log_it($severity,$message)方法 我想在全局范围内创建一次对象,并在函数中使

读到关于单身和模式的书,我感到头疼,一定有更简单的方法

我有一个很好的实用函数,叫做log_it($severity,$message),它在许多程序中都使用。它创建代码,将特定于应用程序的日志项附加到磁盘上的共享日志中。当我全局加载函数一次(使用require)时,它在整个程序中,在任何函数中都是可用的

出于各种原因,我将应用程序作为一个整体转换为面向对象。 我想创建一个logger类,它有一个log_it($severity,$message)方法

我想在全局范围内创建一次对象,并在函数中使用它。 我不想在我想使用的每个函数中都将对象声明为全局对象。换句话说,我想模拟简单非对象函数的全局可见性,但使用类。我想做的是在主程序中使用$log=new logger(),然后在任何地方调用$log->log\u it(),无需进一步的ado


希望有一种简单的方法可以做到这一点。

您可以将它声明为一种静态方法。并在任何地方调用它,而无需实例化类。像这样:

logger::log_it()

谢谢你的信息,拉希姆。以这种方式使用静态声明的类与通过require简单地包含代码相比是否有优势?