Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Extends Controller

Srs(a), boa noite!

Eu estou na segunda aula deste curso. Eu gostaria de saber porque é necessário usar o extends controller na class ProdutoController? Qual a sua função visto que sem extender de controlle a aplicação funciona normalmente. Obrigado.

?php 
  namespace estoque\Http\Controllers;

  use DB;

  class ProdutoController extends controller
  {
      public function lista()
      {
        $produtos = DB::select('select * from produtos');

        foreach($produtos as $produto):
          echo $produto->nome;
          echo $produto->preco;
          echo $produto->quantidade."<br/>";              
        endforeach;

      }
  }
4 respostas

Oi Leandro, tudo bem? Não deveria funcionar corretamente sem o extends, por que é dessa forma que o Laravel define o que é um controller ou não. Talvez funcione parcialmente por que o Composer ao fazer o carregamento das classes, consegue encontrar a classe e o método sem muitos problemas.

Talvez em casos mais específicos você possa ter problemas com o controller justamente por que você não está herdando o comportamento padrão.

Oi Wanderson,

entendo. Mas qual o motivo de estender controller? Quais métodos a classe controller possui que vão ajudar no desenvolvimento da minha aplicação?

solução!

Alguns exemplos são os métodos dispatch, middleware e validate, isso tá descrito na documentação: https://laravel.com/docs/5.6/controllers

A herança não é obrigatória, mas sem ela você perde esses métodos.

Blz Wanderson. Obrigado pela paciência e assertividade. Abraço.