Php 全局自动加载类

Php 全局自动加载类,php,Php,是否有一种方法可以全局加载特定安装中所有PHP脚本的类?或者,换句话说,扩展PHP解释器以提供全局类?我的意图是为服务器上的所有PHP web应用程序构建一个集中的日志记录工具,但我不想在每个脚本中重复调用require(),使用和自动加载语句 最好在每个脚本中都有一个全局日志对象,但这需要有某种线程安全的对象和/或锁定 有什么想法吗?从评论中我了解到,实现这一点的最佳方法是编写一个实现该类的PHP扩展,这样它就可以在服务器上的所有脚本中使用。此外,我还发现了一个名为“php logger ex

是否有一种方法可以全局加载特定安装中所有PHP脚本的类?或者,换句话说,扩展PHP解释器以提供全局类?我的意图是为服务器上的所有PHP web应用程序构建一个集中的日志记录工具,但我不想在每个脚本中重复调用
require()
使用
自动加载
语句

最好在每个脚本中都有一个全局日志对象,但这需要有某种线程安全的对象和/或锁定


有什么想法吗?

从评论中我了解到,实现这一点的最佳方法是编写一个实现该类的PHP扩展,这样它就可以在服务器上的所有脚本中使用。此外,我还发现了一个名为“php logger extension”的扩展,它的功能正好是:

“通过使用php_logger,应用程序只需加载一次扩展,这是在web服务器初始化时完成的,而且应用程序不需要解析任何php类即可登录。”


1)简短的回答是肯定的:通过编写PHP扩展,您可以使一个类对在一台机器上运行的所有脚本全局可用。如果您的代码在二进制文件上运行,并且在其中编译并启用了扩展,则该类是可用的。2) 在一个文件中编写
或使用
一次或两次真的有那么大的工作量吗?我的意思是:说真的,注册一个像样的自动加载器,并遵循PHP-FIG标准。这将为您节省编写
require
的时间,至少TPS:投票决定以过于宽泛的方式结束,不清楚您在问什么,也不提供问题的清晰描述,也不提供代码示例进行复制,或者至少更好地理解您试图解决的问题。为什么不清楚,当你刚刚回答这个问题的时候?当我问一个一般性的,尽管是非常具体的问题时,我如何提供一个代码示例?我不知道我是否真的这样做了。当你说一个类应该在全球范围内可用时,我不知道你到底是什么意思。我不知道你说你必须重复
require
呼叫是什么意思。一旦类被定义为
require
'd,它就被定义了。您不必一遍又一遍地要求相同的文件(如果这样做,您将得到错误)。PHP是无状态的,请记住:全局注册一个类意味着将为每个单独的请求加载和销毁它(分别在
PHP\u MINIT
PHP\u mshutton
期间)。告诉我们你的问题是什么,因为9/10,有一个替代方案,你现在想做什么我想当你读到“我的意图是为服务器上的所有PHP web应用程序构建一个集中的日志记录工具”这句话时,“全局”的含义是非常清楚的。在每个请求中加载类的好处。当我将mod_PHP与Apache一起使用时,PHP解释器不会继续运行吗?“扩展全局”呢?