Pessoal, estou tentando usar o middleware dentro do construtor da SeriesController, mas ele não reconhece o método, mesmo que eu use o extends controller.
Objeto:
<?php
namespace App\Http\Controllers;
use App\Http\Middleware\Autenticador;
use App\Http\Requests\SeriesFormRequest;
use Illuminate\Http\Request;
use App\Models\Series;
use App\Repositories\EloquentSeriesRepository;
use App\Repositories\SeriesRepository;
class SeriesController extends Controller
{
public function __construct(private SeriesRepository $repository)
{
$this->middleware(Autenticador::class)->except('index');
}
public function index(Request $request)
{
$series = Series::all();
$mensagemSucesso = session('mensagem.sucesso');
return view('series.index')-> with('series',$series)->with('mensagemSucesso',$mensagemSucesso);
}
public function create()
{
return view('series.create');
}
public function store(SeriesFormRequest $request, EloquentSeriesRepository $repository)
{
$serie = $this->repository->add($request);
return \to_route('series.store')->with('mensagem.sucesso', "Série '{$serie->nome}' adicionada com sucesso ");
}
public function destroy(Series $series)
{
$series->delete();
return to_route('series.index')->with('mensagem.sucesso',"Série '{$series->nome}' removida com sucesso");
}
public function edit(Series $series)
{
return view("series.edit")->with("serie",$series);
}
public function update(Series $series, SeriesFormRequest $request)
{
$series->fill($request->all());
$series->save();
return \to_route("series.index")->with("mensagem.sucesso","Série {$series->nome} atualizada com sucesso");
}
}
O erro "Call to undefined method App\Http\Controllers\SeriesController::middleware()"