在 Moodle 中存储键值对

Store key value pairs in Moodle

我正在为 Moodle 聊天添加一项功能,以允许教师禁止学生在聊天中打字。 我在聊天区有一个下拉菜单,老师可以 select 允许或不允许输入。 此下拉列表的值通过 Ajax 请求发送。 我需要一种方法来存储这个值,然后在所有聊天 windows 中检索它(当然是针对那个特定的聊天)来确定我是否应该启用或禁用消息输入区域。

我一直在寻找内置缓存 API 但那不合适而且我无法让它工作 http://fossies.org/dox/moodle-2.8.6/md_cache_README.html

我正在 Moodle 2.6 上开发

经过更多的挖掘和冷静下来,我找到了解决方案。

首先,您必须按照 http://fossies.org/dox/moodle-2.8.6/md_cache_README.html

中所述在 /mod/[[modname]]/db/caches.php 中创建一个定义

一个简单的例子是

$definitions = array(
    'chatdata' => array(
        'mode' => cache_store::MODE_APPLICATION
    )
);

在您的模块文件中,您可以执行以下操作来开始存储和检索数据。

$cache = cache::make_from_params(cache_store::MODE_APPLICATION, 'core', 'chatdata'); //Declare a handle for the cache
$result = $cache->set('key', 'value'); //Store value
$cache->get('key'); //Retrieve value