Novidades do PHP 8 - Catch sem variável | Dias de Dev
O #PHP 8 está agendado para chegar no final desse ano de 2020 e as novidades são muitas!
Nesse vídeo nós vamos falar de forma bem resumida sobre uma dessas novidades: Non-capturing catches, ou no bom e velho português, o bloco #catch sem variável.
(0:00) - Introdução (0:18) - RFCs do PHP (0:48) - RFCs implementadas no PHP 8 (1:31) - RFC de Catch sem variável (2:42) - Testar PHP 8 com Docker (3:21) - Mão na massa (4:29) - Novo modo de erro do PDO (6:10) - Catch sem variável na prática (6:40) - Considerações finais
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Há cerca de 5 anos eu criei um container de injeção de dependência (DI) na unha para ver como isso era feito. Vocês pediram para ver este projeto e nesse vídeo eu mostro o código dele. Se quiserem, podem aproveitar o #Hacktoberfest para contribuírem com este projeto. ;-)
Eu falei sobre injeção de dependência e containers de DI nesse vídeo aqui: https://youtu.be/rchkZgr0L8M
E lá nos comentários vocês pediram que eu trouxesse aqui no canal um vídeo mostrando o projeto.
Para descobrir quais são as dependências necessárias e resolvê-las, é necessário o uso de Reflection. Nesse vídeo aqui eu comento sobre este conteúdo:
https://youtu.be/95CGVWXHkJM
Se quiser se aprofundar nestes conceitos, super recomendo assinar a Alura, plataforma para onde eu já gravei dezenas de cursos, incluindo Reflection. Aqui tem um cupom de 10% de desconto para você:
https://www.alura.com.br/promocao/diasdedev
0:00 - Introdução
0:45 - Conhecendo o repositório
1:03 - Vendo como usar o container
1:31 - Analisando o código
9:23 - Utilizando o projeto para estudo
10:19 - Me deseje feliz aniversário
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=PBMPLYQl8wY
Descubra como simplificar a atualização de versões no seu projeto PHP, seja utilizando frameworks como Laravel ou Symfony ou até com "PHP puro"! No vídeo de hoje nós vamos conhecer o Rector, uma ferramenta que automatiza refatorações, tornando o processo eficiente e livre de complicações.
Aprenda a otimizar seu código de maneira fácil e rápida. Assista agora e leve seus conhecimentos em PHP para o próximo nível com a ajuda do Rector!
Se quiser aprender mais sobre programação e tecnologia em geral, aqui tem 10% de desconto na Alura:
http://alura.tv/diasdedev
E se quiser apoiar o canal e me incentivar a continuar criando conteúdo gratuito, você pode considerar me dar um "Valeu Demais" aqui no YouTube ou se tornar um "sponsor" lá no GitHub:
https://github.com/sponsors/CViniciusSDias
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
0:00 - Introdução
0:34 - Como atualizar versões de um projeto
1:12 - O que é Rector e como o Rector funciona
1:51 - Como utilizar Rector na prática
6:02 - Como ver as modificações do Rector
9:05 - Conclusão
...
https://www.youtube.com/watch?v=vCYa9lqQlyg
Vamos explorar as novidades da mais nova versão do framework de testes Pest 2 para PHP.
O Pest veio com a proposta de deixar nossa suíte de testes mais simples e elegante, mas ele mantém a compatibilidade com o PHPUnit sem nenhum problema. Agora a versão 2 foi lançada com algumas novidades bem interessantes e nesse vídeo nós vamos ver como atualizar um projeto de Pest 1 para Pest 2.
Se quiser aprender mais sobre programação e tecnologia em geral, aqui tem 10% de desconto na Alura:
http://alura.tv/diasdedev
E se quiser apoiar o canal e me incentivar a continuar criando conteúdo gratuito, você pode considerar me dar um "Valeu Demais" aqui no YouTube ou se tornar um "sponsor" lá no GitHub:
https://github.com/sponsors/CViniciusSDias
0:00 - Introdução
0:28 - O que é Pest
0:48 - Playlist de introdução a testes automatizados
1:19 - Anúncio do Pest 2
1:51 - Atualizando um projeto de Pest 1 para Pest 2
7:25 - Nova opção --dirty para executar testes modificados
8:55 - Nova opção --retry para executar testes que falharam
9:57 - Testes de arquitetura com Pest
10:28 - Conclusão
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=miBUEWzNv0w
Hoje é dia de mais novidades do #PHP 8.1. Nele, um novo tipo de retorno vai ser introduzido: O #never, ou como a RFC o chamava originalmente, #noreturn.
Com esse tipo nós podemos informar que uma função simplesmente não volta mais para o ponto onde foi chamada. Ou ela encerra o script (com exit) ou ela lança uma exceção.
(0:00) - Introdução
(0:46) - Novidade na prática
(1:46) - Void vs Never
(3:00) - Casos de erro
(4:03) - Disclaimer sobre não executar
(4:35) - Lendo a RFC
(6:44) - Never e Generators
(7:03) - Never em outros locais
(7:23) - Variância de tipos com Never
(8:30) - Conclusão
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=_BYgvCBdZo4
Vamos falar sobre Feature Flags e como elas podem ajudar os desenvolvedores a liberar recursos em seus códigos de forma segura e confiável. Vamos entender o que são Feature Flags, como funcionam e quais são as melhores práticas para implementá-las em seu projeto. Além disso, falaremos sobre como usar o pacote Laravel Pennant para criar e gerenciar Feature Flags em projetos Laravel. Aprenda a acelerar o desenvolvimento, aumentar a flexibilidade e aprimorar a qualidade de seus códigos com este vídeo de Feature Flags.
Se quiser aprender mais sobre programação e tecnologia em geral, aqui tem 10% de desconto na Alura:
http://alura.tv/diasdedev
E se quiser apoiar o canal e me incentivar a continuar criando conteúdo gratuito, você pode considerar me dar um "Valeu Demais" aqui no YouTube ou se tornar um "sponsor" lá no GitHub:
https://github.com/sponsors/CViniciusSDias
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=YDe5PytIaoA
Já ouviu falar de #metaprogramação ou #reflection ? São termos bastante comuns no mundo do desenvolvimento mas às vezes é meio difícil de entender essas mágicas da programação.
Nesse vídeo eu explico de forma bem resumida o que é essa tal de metaprogramação, qual o conceito por trás dessa técnica e como aplicá-la utilizando Reflection.
(0:00) - Introdução
(0:55) - Definições conceituais
(2:46) - Mão na massa
(3:45) - Trazendo dados de uma classe
(5:25) - Recuperando valor de propriedade
(6:02) - Instanciando sem chamar construtor
(6:52) - Tentando recuperar propriedade privada
(7:32) - Atribuindo valor a propriedade privada
(8:28) - Conclusão
Se quiser aprender sobre Reflection (em PHP) com mais detalhes, confere esse curso aqui:
https://www.alura.com.br/curso-online-metaprogramacao-php-api-reflection
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/cviniciussdias
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/vinícius-dias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=95CGVWXHkJM
No #PHP 8.3, que vai ser lançado em Dezembro de 2023, nós vamos poder usar uma variável para acessar uma constante de uma classe PHP.
Se quiser aprender mais sobre programação e tecnologia em geral, aqui tem 10% de desconto na Alura:
http://alura.tv/diasdedev
E se quiser apoiar o canal e me incentivar a continuar criando conteúdo gratuito, você pode considerar me dar um "Valeu Demais" aqui no YouTube ou se tornar um "sponsor" lá no GitHub:
https://github.com/sponsors/CViniciusSDias
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=h3dZlJrpvi0
Você provavelmente já ouviu falar sobre Cobertura de Código, mas sabe o que significa? Nesse vídeo nós vamos analisar quanto código nosso teste realmente executa.
A ideia por trás de cobertura de código (ou code coverage em inglês) é relativamente simples. Ao executar os testes, estatísticas sobre quais códigos são executados podem ser geradas. Felizmente já existem diversas ferramentas que geram e leem essas estatísticas! :-D
Se você quiser se aprofundar nesse mundo de testes, vou deixar algumas referências bem legais aqui:
- https://amzn.to/39qMRe4 (Testes de Software: Um guia prático)
- https://amzn.to/3wfX4Uc (Test-Driven Development: Teste e Design no Mundo Real com PHP)
- https://amzn.to/3djdd2K (Diversos livros do Mauricio Aniche, grande referência em testes)
- https://amzn.to/2PeC0gq (xUnit Test Patterns: Refactoring Test Code [Livro clássico sobre testes])
- https://amzn.to/3fuoYpt (Test Driven Development: By Example [Livro do famoso Kent Beck])
0:00 - Introdução
0:32 - Revisando o projeto
1:06 - Cobertura de código
1:55 - Drivers de cobertura
3:00 - Gerando cobertura com PHPUnit e Xdebug
4:18 - Analisando cobertura de código
4:48 - phpunit.xml
7:14 - Analisando relatório em HTML
8:48 - Cobertura de código com Pest
10:43 - Cobertura de código no PHPStorm
13:00 - Considerações finais
13:50 - Conclusão
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=bWBSaBk0HXA
Como configurar o XDebug com Docker? Essa é uma das perguntas que eu mais recebi desde que criei o canal. Nesse vídeo nós vamos configurar tanto o PHPStorm quando o VS Code (Visual Studio Code) para podermos usar o XDebug dentro do nosso container Docker.
A configuração não é muito complexa, mas também não é simples. Isso acaba assustando alguns iniciantes e a ideia do vídeo é justamente permitir que mais iniciantes utilizem essa ferramenta.
Se quiser aprender mais sobre XDebug, tem um treinamento meu na Alura sobre o assunto. Aqui tem 10% de desconto para assinar a plataforma:
https://www.alura.com.br/promocao/diasdedev
0:00 - Introdução
0:42 - Configurar o XDebug no Docker
4:39 - PHPStorm
8:42 - XDebug Helper extension
10:27 - VS Code
13:44 - Conclusão
----------------------------------
Para mais conteúdos sobre boas práticas de programação, testes, arquitetura de software e tudo que há de bom, não se esqueça de se inscrever e ativar o sininho para receber notificações.
Para entrar em contato:
Telegram: https://t.me/diasdedev
Twitter: https://twitter.com/cviniciussdias
LinkedIn: https://www.linkedin.com/in/cviniciussdias/
GitHub: https://github.com/CViniciusSDias/
...
https://www.youtube.com/watch?v=kbq3FJOYmQ0