gpt4 book ai didi

plone - getToolByName() 与其他人

转载 作者:行者123 更新时间:2023-12-04 14:49:17 28 4
gpt4 key购买 nike

访问 Plone 持久性实用程序的推荐方法是什么?为什么?

  • getToolByName(context, "portal_url")
  • 直接获取:context.portal_url
  • ITools界面

  • 等等

    最佳答案

    我认为答案在 getToolByName 的代码中本身(http://svn.zope.org/Products.CMFCore/trunk/Products/CMFCore/utils.py?view=markup)。该方法执行此操作:

  • 作为第一次尝试,它试图通过查找带有getUtility 的接口(interface)来获得所需的工具。并将其包含在上下文中(这对我来说似乎是件好事)
  • 作为后备,它会尝试直接从源上下文中获取工具

  • 所以“统治他们”的唯一方法似乎是: getToolByName但是,正如@keul 所说,还涉及到缓存,并且看这里( http://collective-docs.readthedocs.org/en/latest/misc/context.html#itools-interface )很明显,使用 ITools 接口(interface),当它不会由于尚未实现该接口(interface)的工具而失败时,它会更快.

    基于以上原因,最后我建议:
  • ITools(更快)
  • getToolByName(更安全)

  • (由于getToolByName已经尝试过直接获取,如果失败,你就没有更多的财富了)

    关于plone - getToolByName() 与其他人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9765706/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com