PHP类加载——我必须确保我的类是';t已卸载


PHP Class loading -- Do I have to make sure my classes aren't unloaded?

我有几个类使用静态变量。

当我将类包含在要解释的PHP文件中时,我假设这些类已加载到PHP中。我是否必须积极地做一些事情来确保PHP不会"卸载"我的类,并且我会丢失我的静态变量?或者PHP只是在加载后从不卸载类?如果当前时间没有正在解释的文件,该怎么办?(我的Web服务器使用php-cgi)

加载后,直到执行结束才会卸载它们。不过,事情并不会因请求而持续。

类中的静态变量值仅在请求的上下文中设置和保留。如果希望数据在请求范围之外保持不变,则必须使用会话变量或写入文件或数据库。

否,在请求完成之前(或者调用终止方法,如Corbin在overanswer中指出的die()exit()),所有请求范围类和变量都将可用。如果您使用会话变量,则在会话处于活动状态时,这些变量将可用。

要访问一个类或函数,只需在使用前确保文件为included即可。