in reply to Re: Getting HASHES out of Class::DBI
in thread Getting HASHES out of Class::DBI

If you want to be transparent to future changes in Ima::DBI or Class::DBI, though, don't use this method.

I don't think this point can be emphisised enough: breaking the encapsulation on an object like that is a Really Bad Idea(tm). Even ignoring future versions of Ima::DBI/Class::DBI, all your inflate/deflate fields won't work (and I'm convinced that you should use them more often than not).

----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer

: () { :|:& };:

Note: All code is untested, unless otherwise stated

Replies are listed 'Best First'.
Re: Re: Re: Getting HASHES out of Class::DBI
by rkg (Hermit) on Jan 07, 2004 at 17:19 UTC
    Amen and amen and ++ and ++.

    <soapbox>

    Breaking encapsulation should be only used as a dire last resort -- and certainly not in production code.

    Going uninvited into the innards of an object is like buying a car with airbags then disabling them, or removing your car's seatbelts. Yeah, you can do it, and eveything will seem fine for a while, and then something goes wrong and you get badly hurt.

    Objects are more than a funny way to call a useful subroutine -- they are an agreement between caller and callee as to a strict API, with everything behind the API wall treated as a black box.

    </soapbox>

    Apologies if I am preaching to the converted, the spirit moved me.