Правильно ли редактировать файлы в папке vendor в laravel 5.2 в соответствии с нашими потребностями?
Я новичок в Laravel и делаю пример проекта в качестве учебной цели. Я создал аутентификацию с помощью команды:
php artisan make:auth
Я дал ссылку на перенаправление в Authcontroller.php для всех успешных входа / регистрации как:
protected $redirectTo = '/admin';
Все это работает нормально, и моя проблема в том, что когда я пытаюсь сбросить пароль, используя опцию сброса пароля на встроенном контроллере аутентификации laravel 5.2, я могу сбросить свой старый пароль с новым. но после сброса пароля он перенаправляется по ссылке, например examplelaravel.com/home. Он не идет на examplelaravel.com/admin согласно ссылке перенаправления (protected $redirectTo = '/admin';), которую я нашел в Authcontroller.php.
Просматривая все файлы в моем проекте laravel, я увидел файл с именем vendor\laravel\framework\src\Illuminate\Foundation\Auth\RedirectsUsers.php, который содержит такой метод:
public function redirectPath()
{
if (property_exists($this, 'redirectPath')) {
return $this->redirectPath;
}
return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';
}
Я изменил / home на / admin в указанном выше файле, и моя проблема с перенаправлением после успешного сброса пароля была исправлена. Но я не знаю, правильный ли это метод или нет?? Это правильный способ редактировать файлы внутри папки продавца, как я делал выше? Пожалуйста, помогите мне. Заранее спасибо.
2 ответа
Вы установили $redirectTo
ссылка в вашем AuthController
но вы не установили его внутри PasswordController
,
Поскольку два контроллера работают с совершенно разными функциями, $redirectTo
ссылка не передается от одного к другому.
Чтобы установить PasswordController
чтобы перенаправить на ваш админ-маршрут, просто добавьте эту строку, как у вас с AuthController
:
protected $redirectTo = '/admin';
redirectPath
Функция, которую вы нашли, это просто проверка, если $redirectTo
путь был указан в другом месте, иначе он будет перенаправлен на /home
, Однако, как уже было сказано, вы не должны ничего редактировать внутри vendor
папка в противном случае, когда вы запускаете composer update
он будет перезаписывать любые ваши изменения при обновлении файлов.
В следующий раз вы запустите composer update
любые изменения, внесенные в vendor
DIR будет отменен.
Вы никогда не должны трогать или связываться с vendor
как это безупречно.