2rats/yii2-forum

安装: 165

依赖项: 0

建议者: 0

安全: 0

星级: 1

关注者: 0

分支: 0

开放问题: 0

类型:yii2-extension

dev-main 2024-09-25 13:51 UTC

This package is auto-updated.

Last update: 2024-09-25 13:51:10 UTC


README

这个Yii2扩展提供了一套简单的论坛功能,使得将功能齐全的论坛集成到您的Web应用程序变得容易。

⚠️ 此扩展目前处于 开发中。请随意 关注 此存储库以获取首次发布或 贡献。谢谢。 ⚠️

要求

  • PHP 7.4 或更高版本
  • Yii2 框架
  • Yii2 RBAC
  • 用户表迁移

安装

此扩展旨在即插即用。一旦您安装了必要的迁移并在应用程序结构中配置了模块,您就可以开始使用了。

安装此扩展的首选方式是通过 composer

composer require 2rats/yii2-forum "@dev"

应用数据库迁移

1. 用户表和 RBAC

首先,您必须使用以下命令设置并应用您的 用户表RBAC 迁移:

php yii migrate
php yii migrate --migrationPath=@yii/rbac/migrations

2. 扩展

然后,您必须应用此扩展的迁移。

php yii migrate --migrationPath=@rats/forum/migrations
php yii migrate --migrationPath=@rats/forum/migrations/rbac

修改数据库连接

此扩展将文本表情符号解析为 Unicode 符号(例如 ':D' => '😃')。为了正确保存到数据库,必须在数据库设置和 config/db.php 配置文件中对数据库的连接中都具有正确的字符集。

例如,您可以使用 utf8mb4 字符集。

<?php

return [
    'class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost;dbname=test_db_name',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8mb4',
];

修改注册方法

  1. 打开您的应用程序的注册过程,其中创建新用户。这可以在控制器操作、注册表单或处理用户注册的服务中完成。

  2. 在您的注册过程中,在创建主要用户实例之后,调用 ForumModule::signupUser 函数以创建相关的论坛用户

use rats\forum\ForumModule;

// ... Your signup process code ...

// After creating the main user, call the signupUser function to create the forum user.
ForumModule::signupUser($user);

在这里,$user 应该是您的 app\models\User 实例。

如果您使用的是默认的 Yii2 注册表单,您可以按如下方式更改它

use rats\forum\ForumModule;

class SignupForm extends Model{

	// ... other code ...
	
	public function signup()
	{
	    if (!$this->validate()) {
	        return null;
	    }
	    $user = new User();
	    $user->username = $this->username;
	    $user->email = $this->email;
	    $user->setPassword($this->password);
	    $user->generateAuthKey();
	    $user->generateEmailVerificationToken();
	    
	    return $user->save() && $this->sendEmail($user) && ForumModule::signupUser($user);
	}
	
	// ... other code ...

}

配置

模块配置

config/web.php 中配置模块的选项。

参数配置

您还可以通过在配置文件 config/params.php 中添加参数来修改模块的行为。

贡献

贡献非常受赞赏。如果您想贡献,请复制存储库,进行更改,并提交一个 pull 请求或打开一个问题。

作者

许可证

BSD 3-Clause 许可证