猿问

MOODLE:异常 - 未找到类

要修改现有插件并添加带有事件触发器的日志,

我在文件夹和下图中都有该类:

我添加了代码如下:


$params = array(

            'context' => $this->world->get_context(),

            'relateduserid' =>      $USER->id,

        );

$lupevent = \block_xp\event\user_leaderboardview::create($params);

$lupevent->trigger();

我还在user_leaderboardview.php里面添加了一个 ,


classes\event文件夹。


用户排行榜视图


<?php


namespace block_xp\event;

defined('MOODLE_INTERNAL') || die();


class user_leaderboardview extends \core\event\base {


    public function get_description() {

        return 'The user witih ID ' . $this->userid . ' view the leaderboard .';

    }  

}

然而,完成这些操作后,我收到错误。


异常 - 未找到“block_xp\event\user_leaderboardview”类


我缺少哪里添加配置?为什么找不到该类?


这是命名空间的问题吗?或者服务器没有加载页面?


请帮忙解决问题


ABOUTYOU
浏览 105回答 2
2回答

眼眸繁星

您是否清除了站点缓存或更改了插件版本号(仅限最后一位数字)?Moodle 会缓存所有自动加载的类名,因此如果添加新类,则需要清除缓存。

繁星coding

另外,如果您遇到类似Uncaught Error: Class 'cache' not found(或任何其他类别)的问题:尝试从 Moodle 根目录通过 cli 命令清除缓存php admin/cli/purge_caches.php检查 nginx/apache 配置中的 php 版本。如果配置具有旧的 php 版本(例如版本 7),但您的 Moodle 遵循较新的 8+ 版本,则会发生这种情况。
随时随地看视频慕课网APP
我要回答