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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php