Php Moodle事件API
我正在尝试为Moodle开发一个插件,使用Events API在创建新博客文章时发送电子邮件。我创建了具有以下结构的插件:Php Moodle事件API,php,events,moodle,Php,Events,Moodle,我正在尝试为Moodle开发一个插件,使用Events API在创建新博客文章时发送电子邮件。我创建了具有以下结构的插件: blog_observer/ ├── classes │ └── observer.php ├── db │ └── events.php └── version.php db/events.php: defined('MOODLE_INTERNAL')| | die(); $Observators=数组( 排列( “eventname'=>”\core\even
blog_observer/
├── classes
│ └── observer.php
├── db
│ └── events.php
└── version.php
db/events.php
:
defined('MOODLE_INTERNAL')| | die();
$Observators=数组(
排列(
“eventname'=>”\core\event\blog\u entry\u created',
“回调”=>“\blog\u observer\blog\u observer::blog\u created”,
),
);
我从这里得到了活动名称
classes/observer.php
:
namespace blog\u observer;
已定义('MOODLE_INTERNAL')| | die();
类blog_观察器{
/**
*监视所有事件的观察者。
*
*@param\core\event\base$event事件对象。
*@returnbool
*/
已创建公共静态函数blog_(\core\event\base$event){
文件内容('php://stderr,print_r(“观察到的事件”,TRUE));
返回false;
}
}
但是我没有看到那个日志,好像它甚至没有进入那个类,为什么?我发现,是名称空间 因此更新的文件是(我还将我的插件重命名为
时事通讯
):
db/events.php
:
defined('MOODLE_INTERNAL')| | die();
$Observators=数组(
排列(
“eventname'=>”\core\event\blog\u entry\u created',
“回调”=>“\local\u newsletter\observer::blog\u created”,
),
);
classes/observer.php
:
namespace-local\u时事通讯;
已定义('MOODLE_INTERNAL')| | die();
类观察员{
//其余的都一样
}
我想出来了,是名称空间
因此更新的文件是(我还将我的插件重命名为时事通讯
):
db/events.php
:
defined('MOODLE_INTERNAL')| | die();
$Observators=数组(
排列(
“eventname'=>”\core\event\blog\u entry\u created',
“回调”=>“\local\u newsletter\observer::blog\u created”,
),
);
classes/observer.php
:
namespace-local\u时事通讯;
已定义('MOODLE_INTERNAL')| | die();
类观察员{
//其余的都一样
}
newsletter/
├── classes
│ └── observer.php
├── db
│ └── events.php
└── version.php