Как расширить плагин Cakedc Users для использования собственной таблицы в Cakephp 3

Я хочу расширить плагин пользователей, чтобы я мог удалить поле имени пользователя и настроить свою таблицу в соответствии с потребностями. Я видел документацию по github для расширения плагинов, но это мне мало помогает. Я пытался расширить UserTable.php, но это дает мне ошибку Неизвестный метод «зарегистрироваться». Пожалуйста, предложите лучший способ или простой код.

1

Решение

Посмотрите эту среду cloud9, созданную специально, чтобы показать, как расширить модель и таблицу в качестве примера: https://ide.c9.io/steinkel/users-example-custom-table

  • В примере используется пользовательская таблица my_users
  • В примере используется пользовательский класс Table MyUsersTable, расширяющий таблицу CakeDC / Users.Users.
  • Помните, что поле «имя пользователя» используется в SocialLogin и других функциях по умолчанию, если вы собираетесь удалить его, убедитесь, что вы настроили приложение на использование другого поля.

Основные изменения, сделанные для использования пользовательской таблицы:

  • Создайте новую таблицу базы данных, соответствующую исходным полям и добавьте / удалите поля в зависимости от ваших потребностей
  • Создайте новый класс Table в вашем приложении, расширяя таблицу CakeDC / Users.Users
  • Переопределите необходимые методы, такие как проверка или искатели в вашем классе таблицы
  • Установите вашу таблицу в конфигурационном ключе «Users.table», как мы делали в «config / users.php»

    $config = [
    'Users' => [
    //Table used to manage users
    'table' => 'MyUsers',
    ]
    ];
    return $config;
    

И вы сделали 🙂

2

Другие решения

Других решений пока нет …