PHP instantiate class in main program, access from functions
I've got a headache from reading about singletons and patterns and there must be a simpler way...
I have a nice utility function called log_it($severity,$message) that is used throughout a number of programs. It creates code to append application specific log entries to a shared log on disk. When I load the function once globally (using require) it is available throughout a program, in any function.
I'm converting the application as a whole to object-orientation for various good reasons. I'd like to create a logger class that has a log_it($severity,$message) method.
I'd like to create the object once, in global scope, and use it from within functions. I'd rather not have to declare the object as global within ever开发者_高级运维y function where i want to use it. In other words I want to emulate the global visibility of the simple non-object function but using a class. What I'd like to do is have $log=new logger() in the main program and then call $log->log_it() from anywhere without any further ado.
Hopefully there is a simple way to do this?
You can declare log_it
as an static method. And call it from any place u want without needing to instantate the class. like so:
logger::log_it()
精彩评论