访问Plone持久实用程序的推荐方法是什么?为什么?
等。
发布于 2012-03-19 13:26:53
我认为答案在getToolByName本身的代码中( http://svn.zope.org/Products.CMFCore/trunk/Products/CMFCore/utils.py?view=markup )。这种方法是这样做的:
getUtility的接口并将其包含在上下文中(对我来说似乎是件好事)来获得所需的工具,获取该工具。
因此,“控制它们的唯一方法”似乎是:getToolByName,但是,正如@keul所说,缓存也涉及到,在这里查看( http://collective-docs.readthedocs.org/en/latest/misc/context.html#itools-interface )可以清楚地看到,使用ITools接口时,如果它不会因为尚未实现该接口的工具而失败,它就会更快。
基于上述原因,最后我建议:
(faster)
(由于getToolByName已经尝试过直接收购,如果它失败了,你就不会有更多的财富)
发布于 2012-03-19 10:30:20
ITools实用程序的使用必须是最好的方法,因为它们是缓存的。然而,这有时会给我带来一些问题(与portal_membership工具有关,但我不记得细节),所以在这种罕见的情况下,我转而使用getToolByName。最后是直接收购。
https://stackoverflow.com/questions/9765706
复制相似问题