如何扩展 Cakedc 用户插件以在 Cakephp 3 中使用自己的 table

How to extend Cakedc Users plugin to use own table in Cakephp 3

我想扩展用户插件,以便我可以删除用户名字段并根据需要自定义我的 table。我看过扩展插件的 github 文档,但这对我帮助不大。我试图扩展 UserTable.php 但它给我错误未知方法 "register"。请建议最好的方法或简单的代码。

检查这个专门为展示如何扩展模型而创建的 cloud9 环境,table 作为示例:https://ide.c9.io/steinkel/users-example-custom-table

  • 示例使用自定义 table my_users
  • 该示例使用自定义 Table class MyUsersTable 扩展 CakeDC/Users.Users table
  • 请记住,字段 'username' 默认用于 SocialLogin 和其他功能,如果您要删除它,请确保将应用配置为依赖另一个字段。

使用自定义 table 所做的基本更改是:

  • 创建一个新数据库table,根据需要匹配原始字段和add/remove字段
  • 在您的应用中创建一个新的 Table class,扩展 CakeDC/Users.Users table
  • 覆盖所需的方法,例如 table class
  • 中的验证或查找器
  • 像我们在 'config/users.php'

    中所做的那样,在配置键 'Users.table' 中设置您的 table
    $config = [
        'Users' => [
            //Table used to manage users
            'table' => 'MyUsers',
        ] 
    ]; 
    return $config;
    

大功告成:)