Services
Um controller executando regra de negócio gera um problema, reutilizar funções de um controller é extremamente chato, uma vez que ele exige receber um $response (e as vezes um $request), por isso é recomendavel que se utilize services para desenvolver a regra de negócio do projeto e a execute dentro do controller.
Arquivos de services podem ser criados em /app/Services
como:
namespace App\Services;
class Product {
public function getProduct($id) {
// ...
}
}
Com o service criado, consumi-lo é simples:
use \App\Services\Product as ProductService;
class Product {
public static function getProduct($request, $response) {
// ...
$productService = new ProductService();
return $productService->getProduct($id);
}
}
Agora é simples reutilizar as funções dos services conforme necessário.
Last updated