Помогите исправить ошибку. Все ответы на похожие вопросы не помогают. Я создал раздел admin.laws , где можно создавать и удалять записи. Теперь я хочу сделать возможность редактирования. Для этого создаю класс LawPolicy следующего содержания:
<?php
namespace App\Policies;
use App\Models\ {User, Law};
class LawPolicy
{
/**
* Determine whether the user can manage the law.
*
* @param \App\Models\User $user
* @param \App\Models\Law $law
* @return mixed
*/
public function manage(User $user, Law $law)
{
return $user->id === $law->user_id;
}
/**
* Create a new policy instance.
*
* @return void
*/
public function __construct()
{
//
}
}
В класс AuthServiceProvider добавляю в переменную $policies :
Law::class => LawPolicy::class,
Перехожу на страницу laws/1/edit и получаю ошибку:
Cannot declare class App\Policies\LawPolicy, because the name is already in use
Основу для сайта взял из этого репозитория: https://github.com/bestmomo/laravel5-5-example
Точно такие шаги я совсем недавно проделал для другого раздела. А что с этим неправильно я не понимаю.
Краш был по причине того, что я по ошибке скопировал содержимого LawPolicy в файл edit.blade.php . Поэтому Laravel пытался импортировать повторно класс с точно таким же именем и namespace. Странно, что я не нашёл это при помощи grep. Подсказка тем, кто нагуглит этот вопрос, будьте внимательнее и ищите класс-дублёр несколькими способами.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости