Re: [PHP] static Logging class?
[email protected] (Larry Garfield)
| Newsgroups | php.general |
|---|---|
| Message-ID | <[email protected]> |
Make a real classed object that you pass to various objects that need it. Otherwise you make your life way harder for unit testing. Don't have a class that self-enforces that it's a singleton. That way lies pain. In particular, I recommend using or writing a class based on the PSR-3 recommendation: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md There's even stock code for the interface and some useful base classes available: https://packagist.org/packages/psr/log And for added fun, there are already publicly available open source libraries that implement PSR-3 that you can just drop in and use, such as: https://packagist.org/packages/monolog/monolog (If that's too heavy for you, writing your own PSR-3 compatible logger is dead-simple.) I'm sure you're about to say "zOMG this is just a hobby project, I don't need something that fancy and all injected and shit!" If it's a simple project, use a simple container to do all the hard work for you: https://packagist.org/packages/pimple/pimple (That's < 100 lines of executable code. Quite powerful, dead simple to use.) Cheers. --Larry Garfield, FIG member On 03/03/2013 07:26 AM, Lars Nielsen wrote: > Hi, > > I work on a little hobby-project, and i want to make a oo logging > facility. (php5.3 oop) > > Is it best to make a class with static functions that i can call from my > other classes? Or is it more appropriate to make a real logging-class i > should instantiate every time i need to log something? (I just want to > log to a file) > > Best regards > Lars Nielsen > >