gpt4 book ai didi

drupal - 您喜欢如何在 drupal 6 中定义模块范围的变量?

转载 作者:行者123 更新时间:2023-12-01 02:57:02 24 4
gpt4 key购买 nike

我在我的模块文件中。我想定义一些在整个模块中使用的复杂变量。对于简单的事情,我这样做:

function mymodule_init() {
define('SOME_CONSTANT', 'foo bar');
}

但这不适用于更复杂的结构。以下是我想到的一些想法:

全局:
function mymodule_init() {
$GLOBALS['mymodule_var'] = array('foo' => 'bar');
}

变量集:
function mymodule_init() {
variable_set('mymodule_var', array('foo' => 'bar'));
}

模块类的属性:
class MyModule {
static $var = array('foo' => 'bar');
}

Variable_set/_get 似乎是最“drupal”的方式,但我被类设置所吸引。这样做有什么缺点吗?还有其他方法吗?

最佳答案

我还没有看到任何人存储作为数组对象的静态值。

对于简单值,drupal 方法是放置 define在模块的开头 .module文件。该文件在模块激活时加载,这样就足够了。把它放在 hook_init 函数中是没有意义的。
variable_set将值存储在数据库中,因此不要一遍又一遍地运行它。相反,您可以将它放在您的 hook_install 中以定义它们一次。 variable_set如果可以在管理部分更改值,则很好用,但它不是存储静态变量的最佳选择,因为您需要查询来获取它。

关于drupal - 您喜欢如何在 drupal 6 中定义模块范围的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2595319/

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