2014-11-28 4 views
0

HI Я реализую сайт, на котором у меня есть два типа пользователей admin/non-admin, где администратор может управлять пользователями и добавлять новые. Моя проблема заключается в том, что у меня есть форма регистрации, где могут регистрироваться новые пользователи. Но когда я хочу создать функциональность «Добавить пользователей» для пользователей admin, я замечаю, что повторяю код, 2 формы регистрации, 2 «магазина», функции. Я хочу добавить несколько полей в пользовательскую регистрационную форму администратора. Какой будет лучший вариант? Измените метод «storeControllers» магазина?Лучший способ избежать повторного кода в функции add_user/регистрации

+0

Я не знаком с Laravel, но я уверен, что вы можете установить переменную уникальную для каждого, то есть $ type = 1 или $ type = 2, а затем вызвать общий метод формы, используя if/else на $ тип, чтобы различать два. – ggdx

+0

Вы не хотите, чтобы контроллер полагался на скрытую входную переменную, которую может манипулировать клиент. Никогда, никогда не доверяйте клиенту –

+0

Не скрытый ввод, который будет запаздывать. Я имел в виду почти как ваш ответ. Вызовите один из методов, но используйте переменную (или *** что-то ***) какого-то типа, Auth :: check(), поскольку вы положили хороший (+ 1'd ответ), чтобы решить между пользователем или администратором. – ggdx

ответ

1

магазин передний конец формы в отдельном зрения (mymoduleview.blade.php)

@include('mymoduleview')

Затем есть маршрут формы действий к тому же контроллеру, но в контроллере, если

Auth::check() возвращается Истинно, что это зарегистрированный пользователь, создающий пользователя

Auth::check() возвращает False это гостевая регистрация.

+0

Мне нравится это решение, но кто будет контроллером, который будет иметь функцию «store» UsersController или AdminController ?? Я думаю, UserController? – user3766403

+0

Вы можете получить его маршрут до UserController, где хранится логика, но если вы действительно хотите быть техничным, тогда, если Auth :: check() передает вызов функции в AdminController, которая обрабатывает дополнительную логику, если администратор создает учетную запись , :) Надеюсь это поможет. –

Смежные вопросы