On Sat, Sep 15, 2012 at 9:42 PM, Dieter Adriaenssens < dieter.adriaenssens@gmail.com> wrote:
2012/9/15 Madhura Jayaratne madhura.cj@gmail.com:
On Sat, Sep 15, 2012 at 12:32 PM, Chanaka Dharmarathna pe.chanaka.ck@gmail.com wrote:
Hi,
I stumbled upon this piece of code (random pick) :
PMA_CommonFunctions::getInstance()->backquote($_REQUEST['view']['name'])
and it made me wonder if using a singleton for PMA_CommonFunctions
is
necessary, because basicaly PMA_Commonfunctions is a collection of methods, not really a 'living' object. So then I had a look at the class, and I discovered that the class
has
no class variables (apart from the _instance variable) and an empty constructor.
Exactly, that class has no properties except _instance which needed for implement this pattern for refer to the class instance itself. So this
is
not a living object.
I search bit more in this kind of cases and get to know that, this kind
of
utility classes are making static. And it is faster than singleton
class.
From the both approaches our work can be done. But not the exact need
for
use singleton pattern here.
So basicly this should be a static class, with static methods,
because
no instance is needed for it to work.
And the above piece of code will become :
PMA_CommonFunctions::backquote($_REQUEST['view']['name'])
BTW: If you convert it to a static class, don't forget to replace
the
$this->method() calls by the static equivalent self::method().
I'll do the necessary modifications if others think this approach is
good.
I also agree that making the methods static would be the better approach. Since the class contains a set of utility functions, how about renaming
the
class to 'Util' on the same time? This will save a bit of line space and help us fix some coding style violations.
Hi,
I agree with using a shorter class name, but it should be 'PMA_Util'.
Yes, thanks for pointing that out.