Olá.
Estou com uma dúvida.
Estou criando uma aplicação de um projeto pessoal com o laravel e doctrine. Pois bem. Essa aplicação tem todo o uso web do laravel: autorização, validação, Blade...
Mas uma pequena parte do projeto quero servir como API. Pois um aplicativo consome PARTE dos recursos da aplicação.
Entretanto caí em um dilema: como reutilizar o código da página web para a mesma funcionalidade?
Por exemplo: vamos supor que eu queira modificar um elemento. Na página web eu trago todos os dados desse elemento... Mesmo que ele seja composto por diversos objetos. Ou seja, no controller, antes de chamar o return view, eu fiz todas as consultas necessárias. Agora, na API, supondo que eu queira realizar a mesma alteração de dados pelo aplicativo, gostaria de usar o mesmo código da página web, com excessão do return view. Afinal, se eu tiver uma modificação, modifico apenas um controller, não dois.
Qual a melhor forma para fazer isso? Pensei em em um controller que extende outro. Assim :
SerieController <<< pai SerieWebController extends SérieController SerieApiController extends SérieController
Assim, todo o código de recuperar os dados e etc estariam em SerieController, mas o código de devolver os dados, estariam ou em SerieWebController, ou SerieApiController, os quais seriam chamados de acordo com a rota
Mas eu queria saber se essa é uma boa forma de resolver o problema, se tem forma melhor...