2016-10-27 64 views
0

我制作OnBeforeinitialize挂钩。如果用户在数据库中不存在,我需要在那里注册新用户的代码。MediaWiki注册新用户的扩展

应该使用哪个MediaWiki类和函数?

回答

0

即使我不知道,你真正想做什么,用户的数据应该来自哪里,以及为什么你想在BeforeInitialize钩子中这样做(事实上,任何有用的信息真正知道并理解你想达到的目标是什么都没有,因此,你将毫无保证地得到你的具体问题的答案,它在你的用例中就像你期望的那样工作)。但是,要创建新用户,可以使用User类的createNew函数。如果用户已经存在于数据库中,您应该检查。

编辑: 的使用示例:

$user = User::createNew('Testuser', [ 'email' => '[email protected]_source.com' ]); 
+0

请你显示代码示例如何正确使用函数User :: createNew()? –

+0

添加了编辑... – Florian

1

如果您需要创建用户,没准你正在做的事情是错误的。应在登录/注册时创建用户(使用PrimaryAuthenticationProvider通知系统创建它们),或者根据请求数据(使用SessionProvider)进行身份验证时创建用户。也有User::newSystemUser,但它只适用于脚本。