Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Moodle事件API_Php_Events_Moodle - Fatal编程技术网

Php Moodle事件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

我正在尝试为Moodle开发一个插件,使用Events API在创建新博客文章时发送电子邮件。我创建了具有以下结构的插件:

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