Muito bom video!! Agora está bem claro. Aliás, Eu que fiz essa pergunta de Service vs Action hahah
@DiasDeDev2 жыл бұрын
Muito obrigado por levantar esse tema, que por sua vez gerou o vídeo! 🤩
@pwcodigo6 ай бұрын
Eu acho que dúvida do @uendelcouto partiu desse vídeo. A forma que aprendi também a usar Service ou Action foi nesse vídeo kzbin.info/www/bejne/e6ewi2ChnZh3Zs0&ab_channel=PinguimdoLaravel%C2%B7RafaelLunardelli . Bacana como @DiasDeDev aborda sobre o tema faz a gente se aprofundar mais. Exatamente por causa de vídeos/tutoriais/cursos que aplicamos ao assistir somos bastante influenciados. Lanço um questionamento, já que não é recomendado usar DDD ou Clear Architecture em um framework, no caso do Laravel, qual seria o nome a se dar para executar o conceito de conectar com serviços externos ou tirar regras de negócios do controller sem usar erroneamente o nome de Services ? Como explicou no vídeo o nome Infrastructure Service é um nome que vem da arquitetura DDD que nome preciso eu preciso pesquisar aqui para aplicar o mesmo conceito no Laravel sem usar nomeclaturas que vem da arquitetura DDD ou Clear Archicture.
@claytonjatoba2 жыл бұрын
Boa Vinicius, boas dicas, eu costumo chamar Service a camada entre o Controller e Repository (ou Interface Repository), no Controller recebo os dados de uma request, já validados em outra camada (No Laravel em um FormRequest) e envio os dados para o Service, no Service fica toda a lógica utilizando o Repository para as operações de banco, assim consigo reaproveitar os métodos do Service para outras partes do sistema não somente nas requisições.
@DiasDeDev2 жыл бұрын
Pois é. Geralmente isso é só uma camada fina de indireção sem muito valor. Tem que tomar cuidado com essa prática.
@ErickJeronimo2 жыл бұрын
@@DiasDeDev se puder, dá umas dicas pra nós de como agregar mais valor utilizando essas possíveis camadas de "service", em código mesmo.
@DiasDeDev2 жыл бұрын
@Victor Rodrigues O estudo sobre arquitetura é muito interessante e independente de linguagem. Recomendo o livro Clean Architecture: amzn.to/3nxRDNc
@DiasDeDev2 жыл бұрын
Opa, @@ErickJeronimo O meu último vídeo onde eu criei um teste real possui um Domain Service. É um bom exemplo.
@pwcodigo6 ай бұрын
@@DiasDeDev Vou assistir, obrigado !
@fantastic.animals Жыл бұрын
Muito top, parabéns!
@DiasDeDev Жыл бұрын
Que bom que gostou. :-D
@AndersonPEM8 ай бұрын
Durante a minha carreira de Dev PHP quando eu via um service era ou uma classe que faz algumas operações como vc falou ou uma classe que interagia com serviços externos. Mais esse segundo caso que o primeiro.
@DiasDeDev8 ай бұрын
Pois é. Essas indireções sem valor trazem um custo cognitivo. E as classes que interagem com serviços externos eu também vejo muito o nome service sendo usado, realmente.
@pwcodigo6 ай бұрын
@@DiasDeDev Eu aprendi recente assim também. No meu caso, eu uso o Laravel, eu crio um pasta service para conectar a serviços externos como api para gateway de pagamentos por exemplo. Eu vi até no canal do pinguim do laravel, falando sobre actions( quando eu quero criar clas que vai ter apenas uma funcionalidade ali) e services para conectar a serviços externos.
@GustavoFilgueiras2 жыл бұрын
Brabo! Sempre ajudando, principalmente nas comunidades
@DiasDeDev2 жыл бұрын
Fico feliz que esteja curtindo, Gustavo. :-D
@fellipesalazar80912 жыл бұрын
Maravilhoso teu canal! Tem alguma aula ensinando criar permissões de acesso por perfil em PHP simples? Parabéns pelo conteúdo!
@DiasDeDev2 жыл бұрын
Que bom que tem curtido, Fellipe. Obrigado pelo feedback. Não tenho esse vídeo em específico não. Posso pensar em preparar algo pro futuro sim. :-D
@vanivilis Жыл бұрын
A regra é clara, quanto maior o vocabulário mais difícil fica a comunicação pois depende muito do contexto.
@igor9722 жыл бұрын
Dias, me ajuda? Estou estudando PDO, no PHP e vi que é possível usar bindParam e bindValue. Vi que bindParam preciso passar por referência usando uma variavel, ex: $stmt->bindParam('name', $name); No bindValue, posso passar por valor mesmo: $stmt->bindParam('name', 'John Doe'); A duvida é: Qual o beneficio de usar um em relação a outro? O que te faz usar um sobre o outro? Pra mim, não faz sentido usar bindValue. Poderia usar sempre o bindParam, mas sinto que estou com algum gap de entendimento. Consegue me ajudar?
@igor9722 жыл бұрын
Código exemplo: $query = 'SELECT * FROM users WHERE name = :name'; $stmt = $db->prepare($query); $name = 'John Doe'; $stmt->bindParam('name', $name); //$stmt->bindValue('name', $name); $stmt->execute(); $result = $stmt->fetchAll();
@DiasDeDev2 жыл бұрын
Com o bindParam, se antes do execute sua variável for alterada, é esse novo valor que será enviado para o banco. Já com o bindValue o valor será o que estava na variável na hora da chamada do bindValue, mesmo se ela for alterada antes do execute. Essa é a única diferença entre ambos. Eu uso sempre o bindValue para evitar confusões. :-)
@igor9722 жыл бұрын
@@DiasDeDev sensacional. Muito obrigado. Ajudou D+
@leonicimartinsdecarvalhogo95762 жыл бұрын
Sou o + , meu pai é A B+ minha mãe e B + é possível eu ser filha deles
@DiasDeDev2 жыл бұрын
Kkkkkkkkkkk
@GustavoFilgueiras2 жыл бұрын
Brabo! Sempre ajudando, principalmente nas comunidades