Dieter Maurer skrev:
Yuri wrote at 2006-11-28 14:23 +0100:
here: http://docs.neuroinf.de/programming-plone/ate we can read:

       obj = brain.getObject().aq_base

why .aq_base and not only brain.getObject()? :)

Usually, it is a bad idea to use "aq_base" in Zope applications

You should carefully examine the context of the code fragment above.
Maybe, the context is one of the rare situations where "aq_base"
is called for...

Why is it rare?

I often need to check if an object has a certain attribute. Getting aquisition into the mix is a bad idea there.::

    name = getattr(obj, 'name')

Is a lot different than

    name = getattr(obj.aq_base, 'name')

In the first example you don't know if the name attribute is an aquired object or an attribute on the actual object. Which can make for uncontrollable results.

--

hilsen/regards Max M, Denmark

http://www.mxm.dk/
IT's Mad Science

_______________________________________________
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to