Drupal 7 Drupal:如何在一个模块函数中定义变量,并在Drupal7中从另一个模块调用变量

Drupal 7 Drupal:如何在一个模块函数中定义变量,并在Drupal7中从另一个模块调用变量,drupal-7,drupal-modules,Drupal 7,Drupal Modules,我正在为Drupal7编写一个模块。它必须在一个函数中获取当前$node变量,例如hook_init或类似函数,并且该变量应该可以从另一个函数访问。我发现了关于node_loadarg1的讨论,解决方案的作者说,由于缓存,性能不受关注 所以,我应该在每个函数中调用node_load吗?我不必担心性能问题。还有其他方法在模块函数之间传递变量吗 更确切地说:我在具有特定节点类型的页面上放置了一个带有模块的块,在hook_block_view函数中,我需要访问当前节点对象。到目前为止,我成功地使用了n

我正在为Drupal7编写一个模块。它必须在一个函数中获取当前$node变量,例如hook_init或类似函数,并且该变量应该可以从另一个函数访问。我发现了关于node_loadarg1的讨论,解决方案的作者说,由于缓存,性能不受关注

所以,我应该在每个函数中调用node_load吗?我不必担心性能问题。还有其他方法在模块函数之间传递变量吗

更确切地说:我在具有特定节点类型的页面上放置了一个带有模块的块,在hook_block_view函数中,我需要访问当前节点对象。到目前为止,我成功地使用了node_load。但也许有更好的办法

提前谢谢

在drupal 7中,node_load调用实体_load,实体_load缓存结果,因此如果调用node_load两次,它将从缓存返回


使用node_load是比在模块之间传递全局变量更好的解决方案,特别是如果您使用一些第三方缓存模块APC、memcached或其他。如果您关心性能,请尝试使用这些模块中的一个,我更喜欢memcached。

我认为在每个函数中调用node_load不是一个好主意,特别是如果节点是从数据库加载的。也许如果你发布一些代码,解释你想要实现的目标,你可能会从其他人那里得到更多的帮助。我会尽量做到更准确。我在具有特定节点类型的页面上放置了一个带有模块的块,在hook_block_view函数中,我需要访问当前节点对象。到目前为止,我成功地使用了node_load。但也许有更好的办法。