🤑 15% de desconto na Alura → tidd.ly/4df0vz7 🪄 Post sobre métodos mágicos → dias.dev/2023-08-11-metodos-magicos-php/ 📊 Post sobre economia de recursos do PHP → dias.dev/2024-04-18-copy-on-write-php/ 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 KZbin ou se tornar um "sponsor" lá no GitHub: github.com/sponsors/CViniciusSDias
@jonatasbaldanАй бұрын
estou estundando C# depois de aprender PHP, é legal de ver a semelhança entre as duas linguagens. Com certeza saber o PHP antes me ajudou a me familiarizar mais rápido com o C#.
@DiasDeDevАй бұрын
Sem dúvida ajuda muito!
@ms-danielАй бұрын
qualquer linguagem com sintaxi parecida com C/C++ será facil de aprender qnd vc aprende uma delas. São todas parecidas, basta ler a doc
@Lewis_QueryАй бұрын
Muito bom saber que a comunidade pega inspiração de outras linguagens, no caso, C#. Melhor pra mim que as duas linguagens que eu trabalho estão ficando cada vez mais parecidas
@DiasDeDevАй бұрын
Sim. Muito legal ver a evolução.
@ItrioNetunoАй бұрын
Seu conteúdo e sua didática são sempre incríveis! ❤
@DiasDeDevАй бұрын
Muito obrigado pelo apoio!
@wilsonsgomesАй бұрын
Acho interessante essas novidades, mas eu, que sou das antigas, nao curti muito não rsrs Acho que utilizando os métodos tradicionais, embora escreva mais código, fica mais claro, explícito.... Nas essa é somente a minha humilde opinião, e acho bacana que a linguagem evolua, sempre!
@DiasDeDevАй бұрын
Eu também achei bem estranho de início. E também gosto de código mais explícito, com menos mágicas. Embora eu tenha me habituado com a sintaxe depois de tanto ler, também não sei se vou usar tanto. rsrsrs
@BrunoGasparettoАй бұрын
Conheci isso no C# e achava maravilhoso! É muito bom ver o PHP evoluindo tanto. Na lista internals vejo ótimas discussões, pena que algumas esbarram em muitos problemas técnicos pra avançar.
@DiasDeDevАй бұрын
Sim! C# foi uma das inspirações pra essa RFC
@octuspi8952Ай бұрын
Acho que a maioria dos devs php ja pensou nisso e implementou de alguma forma, metodos get/set burros são a primeira coisa que um dev tenta contornar! Os frameworks ja fazer isso a um tempo através dos mutators e accessors, ver o php trazer isso nativo me deixa muito feliz!
@DiasDeDevАй бұрын
Exatamente!
@RodrigoVieira-vy7rnАй бұрын
Essa problema do array poderia ser resolvido futuramente com um hook chamado "push" para ser usado somente em arrays. Acho q seria um solução.
@DiasDeDevАй бұрын
Existem outros hooks no escopo futuro da RFC sim. Vamos ver o que o futuro nos reserva. hehehe
@pedrolucca9596Ай бұрын
Bem Interessante, eu já usei libs do spatie pra fazer esse tipo de coisa, pega o primeiro e ultimo nome e a propriedade automaticamente pega os dois e une. Muito bom!
@DiasDeDevАй бұрын
Sim, as libs usam os métodos mágicos. Eu costumava construir uma trait pra isso.
@sidneysouza3034Ай бұрын
Acho essas paradinhas sempre maneiras, mas o que eu sinto falta no PHP de verdade é a sobrecarga de operadores que ajuda pra caramba em meta programação deixando o código muito mais intuitivo, principalmente quando deixamos de utilizar tipos escalares e queremos representar os valores de outra forma como um decimal por exemplo. Recurso esse conheci no c++ e depois vi implementado também no ruby.
@DiasDeDevАй бұрын
Eu já fico meio receoso de ter esse recurso justamente pelo fato de ter sido tão mal utilizado em C++ (vide std::cout
@sidneysouza3034Ай бұрын
@@DiasDeDevPois então, se já tem para algumas, libera pra geral kkkkkkk. Bizarrices já são feitas com os recursos que existem hoje, então um a mais ou a menos não vai fazer diferença..
@lfelizariАй бұрын
Muito bom , demorou mas chegou.
@DiasDeDevАй бұрын
heheheh
@RodrigoVieira-vy7rnАй бұрын
Pra ficar claro: definir propriedades somente com o hook get (como no exemplo do fullName), sem acessar ela própria dentro do hook com "$this->fullName", deixa a propriedade readonly e tentar definir algum valor a ela obviamente gera um erro (mesmo que a propriedade seja pública). Isso é uma forma de definir "propriedades metadados", que são basicamente propriedades geradas a partir de outras prioridades (e/ou dados externos), o que é muito legal!
@DiasDeDevАй бұрын
Isso aí! :-D No PHP elas serão chamadas de virtual properties (propriedades virtuais).
@LeonardoCruzCostaАй бұрын
Bom d+, man. Obrigado!
@DiasDeDevАй бұрын
Valeu! Que bom que gostou
@weydansАй бұрын
Bela apresentação do conteúdo. Em um primeiro momento não vi nenhuma vantagem em relação aos métodos magicos __get e __set. Já era possivel fazer coisas como: public function __get($prop) { $method = 'get' . ucfirst($prop); If (method_exists($this, $method)) { return $this->$method(); } return $this->$prop; } Vinícius o que muda na prática em relação ao exemplo acima e essa nova rfc?
@DiasDeDevАй бұрын
A definição de cada "get" fica mais explícita. Mas esse código aí é exatamente o que eu costumava fazer em traits quando queria essa funcionalidade de property hooks. rsrsrs Geralmente, mudanças de sintaxe não trazem funcionalidade nova. Elas trazem novas formas de fazer algo que já era possível. O mesmo serve para match expression, constructor property promotion e várias novidades maneiras que têm chegado.
@FernandoSilvaSousaАй бұрын
Se for suportado em interfaces e classes abstratas é útil, senão é só uma forma diferente de fazer a mesma coisa
@DiasDeDevАй бұрын
É suportado, como eu disse no vídeo e como dá pra ver no link. :-) Mas geralmente, novas sintaxes são exatamente isso: uma forma diferente de fazer a mesma coisa
@gessegoncalves6493Ай бұрын
carai, ainda bem que vi esse video, imagina daqui algum tempo se eu vejo um codigo deste sem saber isso , vou pensar que o código ta errado
@DiasDeDevАй бұрын
Heheheh
@DeviceBlackАй бұрын
yep
@DiasDeDevАй бұрын
😁
@arozendojrАй бұрын
Já usou alguma bibliotecas de php para reconhecimento de voz, pode mp3 para texto? Php websock é possível?
@DiasDeDevАй бұрын
Criar websockets com PHP é possível, sim. Já até tem vídeo aqui no canal. Reconhecimento de voz eu nunca pesquisei, mas imagino que exista algo sim, principalmente com FFI.
@caiosantosvargasАй бұрын
Muito top
@DiasDeDevАй бұрын
Que bom que gostou
@marciodmcАй бұрын
Então: Tenho que atualizar um programa desenvolvido desde 2007, com registro válido no INPI. Linguagem PHP. Procuro parcerias.
@ronald9944Ай бұрын
Up
@osmaloureiroАй бұрын
salve carlão
@DiasDeDevАй бұрын
Opa!
@osmaloureiroАй бұрын
@@DiasDeDev vem para o japao carlao! Bora conhecer tecnologia aqui!
@DiasDeDevАй бұрын
Meio longe, né!? heheheh
@joonasalbАй бұрын
Sinceramente, não gostei muito dessa RFC, acho que deixa o código mais hierárquico e menos organizado
@gessegoncalves6493Ай бұрын
fica meio estranho realmente
@DiasDeDevАй бұрын
Eu torci o nariz nas 3 primeiras vezes que li também. Agora confesso que tô começando a me acostumar. Mas entendo perfeitamente seu ponto de vista.
@moisesferreira10Ай бұрын
PHP# kkkk
@TochermanАй бұрын
é quase um construtor? funciona de maneira global?
@DiasDeDevАй бұрын
É igual aos métodos __get e __set. Não entendi o que você quis dizer com "global".
@TochermanАй бұрын
@@DiasDeDev como para trafegar e definir posteriormente por exemplo
@DiasDeDevАй бұрын
Continuo não entendendo. Consegue colocar um exemplo?
@gabrielroque2498Ай бұрын
Acho que a única mudança é que vai ter um __set e __get para cada variável de forma individual. Foi o que eu entendi de forma resumida..
@DiasDeDevАй бұрын
De forma bem resumida, pode ver dessa forma sim. Ainda tem as propriedades virtuais e os detalhes mais aprofundados (tipo propriedades em interfaces, etc).
@matheusrocha228Ай бұрын
Achei bem feito isso. Hahahaaha era melhor ter feito como tem no Java o lombok
@DiasDeDevАй бұрын
Lombok não é da linguagem. É um projeto externo e extremamente criticado por todas as pessoa que trabalham com Java e falam sobre boas práticas que eu conheço. rsrsrs Acho que prefiro mil vezes essa abordagem na pegada de C#, Kotlin e companhia. Lombok é exemplo a não seguir. rsrsrs
@matheusrocha228Ай бұрын
@@DiasDeDev me referir as Annotation. Porq se for para pra pensar, se for pra nao declarar gatter e setter faz muito mais sentido usar Annotation da forma do lombok uai. e tipo se for pra acessar a variável, direto como atributo e nao declarar method fica estranho tbm. mas entendo seu ponto de vista.
@compilarАй бұрын
Ao definir SET para propriedade $foo omitindo parâmetro, creio que seria mais lógico utilizar $foo (nome da propriedade) invés de $value no exemplo que citou acima, entendo que é o padrão do PHP 8.4 ser $value mas... não me agrada.
@DiasDeDev29 күн бұрын
Teve essa discussão na RFC.
@LuizFernandodeAndradeAbreuАй бұрын
lembrou do c#
@DiasDeDevАй бұрын
C# é uma das linguagens citadas na RFC sim. Foi usado como inspiração. 😁
@igorsilva73628 күн бұрын
copiaram do Swift
@DiasDeDev26 күн бұрын
A RFC cita várias outras linguagens usadas como inspiração
@tdp-pop6810Ай бұрын
Sintaxe horrorosa... Mancada dos desenvolvedores do PHP, que poderiam se inspirar em outras linguagens que fazem o mesmo de forma muito mais simples.
@DiasDeDevАй бұрын
Tá escrito na RFC todas as linguagens nas quais se inspiraram, e a sintaxe tá extremamente similar. Chegou a ler a RFC?
@RodrigoVieira-vy7rnАй бұрын
Mais simples e natural que isso seria como?
@tiagotheoliveiraАй бұрын
A parte do array parece gambiarra 😢
@DiasDeDevАй бұрын
Como assim? Criar um método novo é gambiarra? rsrsrs Não entendi.