PHP É uma Linguagem Engraçada 🤡

Поділитися
Вставка
  • Опубліковано 23 жов 2024

КОМЕНТАРІ • 723

  • @GuiadoProgramador
    @GuiadoProgramador  Рік тому +600

    Recentemente nesse vídeo eu recebi alguns comentários dizendo que supostamente isso seria um "Ponteiro" e que ponteiros são úteis.
    Mas não, isso não é um ponteiro, é um recurso do PHP chamado de "Variáveis Variáveis", e não tem absolutamente nada a ver com ponteiros do C.
    Até por que linguagens como o PHP tem memória completamente gerenciada por um "garbage collector", então PHP não precisa de recursos como ponteiros. (Por mais que lembre um pouco ponteiros do C, na prática funciona de uma FORMA bem diferente)
    Link da documentação OFICIAL do PHP que fala que isso não são ponteiros: www.php.net/manual/pt_BR/language.variables.variable.php
    E sobre alguns nervosinhos quem vem me xingar.
    Não o intuito desse vídeo não é desmerecer o PHP, PHP é uma linguagem MUITO competente, e foi minha linguagem principal por ANOS. A Ideia desse vídeo é só mostrar de uma forma descontraída um recurso MUITO curioso da linguagem. Paz!

    • @gleitonfranco1260
      @gleitonfranco1260 Рік тому +5

      Tecnicamente não é, mas que parece parece :D:D:D

    • @rapaz1163
      @rapaz1163 Рік тому +8

      @Victor Lima - Guia do Programador kkkkk povo é muito estressado, esses dias atrás reclamando por causa do Cobol kkkk

    • @zanzaraloggan3713
      @zanzaraloggan3713 Рік тому +7

      Ter garbage collector não significa que não se faz uso de ponteiros. Em linguagens interpretadas, toda (praticamente) declaração é uma nova instância. Ou seja, sim, tudo ali é usado como ponteiro. seja em PHP, em JS em Ruby e em Python... etc.

    • @JoaoVictor-kd5oh
      @JoaoVictor-kd5oh Рік тому +7

      @@zanzaraloggan3713 Tem q desenhar pra tu entender?

    • @tapiocaferoz02
      @tapiocaferoz02 Рік тому +2

      Obrigado, eu já tava me coçando com os comentários comparando isso a ponteiro kkkk

  • @souzadan95
    @souzadan95 Рік тому +2968

    Programador:
    - Quais gambiarras você consegue fazer?
    PHP:
    - Sim

    • @GoldAfton
      @GoldAfton Рік тому +18

      Mano kakakaka

    • @tiagomatos6120
      @tiagomatos6120 Рік тому +35

      Qualquer linguagem da para fazer gambiarras, eu já fiz muito em java que é totalmente diferente do PHP, agora sé a pessoa desenvolver com orientação a objetos e com todos os padrões de desenvolvimento correto não a por que de colocar gambiarras.

    • @williamaraujodasilva5160
      @williamaraujodasilva5160 Рік тому

      @@tiagomatos6120 mas vamos concordar que PHP da pra fazer coisas extremamente megalomaniacas

    • @ipadpingo2974
      @ipadpingo2974 Рік тому +21

      $im

    • @wmelo92
      @wmelo92 Рік тому +7

      Desde quando variáveis variantes são gambiarras?

  • @yikitapro
    @yikitapro Рік тому +826

    POG: Programa Orientada a Gambiarra

    • @postafezes
      @postafezes 11 місяців тому +9

      Pogchamp?

    • @Kaorykekw
      @Kaorykekw 9 місяців тому

      ​@@postafezespoggers

    • @derick_isoo
      @derick_isoo 8 місяців тому +8

      Oh mano não fala isso.. tô começando a curtir a linguagem 😂

    • @williand.1833
      @williand.1833 7 місяців тому +24

      @@derick_isoo PHP na mão do brasileiro é uma arma poderosa

    • @DevJOMAGO
      @DevJOMAGO 4 місяці тому +3

      POB: Programação Orientada a Bugs

  • @twqzjsidIsndusiakdixisqjeksixi
    @twqzjsidIsndusiakdixisqjeksixi Рік тому +821

    É algo não-intuitivo, mas pode ser útil em alguns casos gambiarrentos. Felizmente, é uma feature que quem não quiser usar, não precisa e tá tudo bem, diferente de outras linguagens que se você errar o espaço, te dá duas horas de trabalho extra.

    • @GuiadoProgramador
      @GuiadoProgramador  Рік тому +77

      Exatamente J.S

    • @coelho9492
      @coelho9492 Рік тому +35

      ainda bem que eu uso Python 🤭❤

    • @twqzjsidIsndusiakdixisqjeksixi
      @twqzjsidIsndusiakdixisqjeksixi Рік тому +87

      @@coelho9492 sai dessa vida de crackudo, venha pro C e seja um usuário refinado de coca 🗿🍷

    • @coelho9492
      @coelho9492 Рік тому +23

      @@twqzjsidIsndusiakdixisqjeksixi até iria, se meu sonho não fosse criar uma IA. KAKAKAKA

    • @unknownsudo1685
      @unknownsudo1685 Рік тому +64

      Até hoje não entendo essa "evangelização" de linguagens que o pessoal faz, já usei várias linguagens e você a utiliza aquele se encaixa melhor com o seu objetivo ou projeto. Como por exemplo, games, IA, aplicações desktop, web etc... Cada linguagens tem o seu propósito, além de pós e contras com qualquer outra...

  • @programateiro
    @programateiro 8 місяців тому +99

    Amigo, esse recurso é tremendamente útil se eu tiver uma matriz de valores e quiser instanciar uma lista de variáveis dinamicamente

    • @DdcgbttDgigdfh
      @DdcgbttDgigdfh 6 місяців тому +19

      Linux tomando chimarrão kkkkkkkkkkk

    • @luizgustavorocha5583
      @luizgustavorocha5583 5 місяців тому +5

      Kkkkkkkkk tendi nada mano, explica

    • @BrunoKaian-df7qc
      @BrunoKaian-df7qc 4 місяці тому

      @@luizgustavorocha5583 O mascote do linux que é um pinguim kkkkk

    • @streeterarp
      @streeterarp 3 місяці тому

      @@luizgustavorocha5583 KKKKKKKKKKK

    • @PLAYGAMES-bv6dv
      @PLAYGAMES-bv6dv 16 днів тому +1

      Pode explicar para nós leigos?

  • @CarlosHenrique-vx3bm
    @CarlosHenrique-vx3bm Рік тому +337

    já trabalhei 5 anos como programador PHP e esse recurso já me foi útil algumas vezes

    • @tiagomatos6120
      @tiagomatos6120 Рік тому +7

      Tipo quando ? parece que fica ambíguo, eu prefiro colocar o tipo do valor da variável no php quando estou trabalhando com orientação a objetos, eu sempre uso orientação a objetos.

    • @lfelizari
      @lfelizari Рік тому

      ​@@tiagomatos6120você pode implementar o padrão strategy usando isso. Fica muito simples e em algumas situações é uma solução perfeita.

    • @JVMMauro
      @JVMMauro Рік тому +12

      É uma recursividade interessante. Pode poupar algumas linhas de código.

    • @JVMMauro
      @JVMMauro Рік тому

      @@tiagomatos6120 Muito pelo contrario. Vc pode retornar um nó de algum algoritmo e gerar um resultado diferente.

    • @ahcor_inniv
      @ahcor_inniv 2 місяці тому

      ​@@tiagomatos6120eu uso pra fazer controlador autônomo, envio por parâmetro a classe e o método que quero executar e esse recurso né permite fazer isso funcionar

  • @BlaaacKTv
    @BlaaacKTv Рік тому +88

    É como dizem né, as engraçadas são as melhores...

  • @anielsonrodrigues
    @anielsonrodrigues Рік тому +22

    Quando você cria um código com isso é lindo, um mês depois você percebe o que fez.

    • @gabrielavelino2980
      @gabrielavelino2980 Рік тому +4

      Um mês depois você só vê o cliente na sua porta querendo "conversar".

  • @herminathor1
    @herminathor1 Рік тому +15

    Isso é muito útil, muito utilizado dentro de pacotes, torna a linguagem super flexível.

  • @isaccosta1744
    @isaccosta1744 Рік тому +97

    totalmente intuitivo se vc ja viu C e ponteiros

    • @GyradusBRZ
      @GyradusBRZ Рік тому +4

      Não, não me fale de ponteiros.... Eles me assombram

    • @thomasthemazzerrunner3615
      @thomasthemazzerrunner3615 Рік тому +3

      Ponteiro é uma coisa simples é uma variável referenciando outra

    • @UrubuDoPixXXT
      @UrubuDoPixXXT Рік тому +2

      ​@@thomasthemazzerrunner3615ponteiro aponta o espaço de memória, e nao uma variavel... ex int *x, nao fala sobre x, fala sobre o espaço de memoria q x ficara, o ponteiro basicamente armazena o espaco de memoria

    • @thomasthemazzerrunner3615
      @thomasthemazzerrunner3615 Рік тому +3

      E se tu não sabe uma variável é um ESPAÇO NA MEMÓRIA RAM com um identificador, um ponteiro é uma variável especial que aponta pra um endereço de memória dessa variável, por exemplo uma lista encadeada funciona com diversos objetos (Variáveis espalhadas de forma não sequencial na memória) o que as conectam são os ponteiros que ligam (Apontam pro próximo elemento criando uma lógica de lista encadeada) ENTENDEU amigo?@@UrubuDoPixXXT

    • @rsdobr9177
      @rsdobr9177 9 місяців тому +1

      @@thomasthemazzerrunner3615 mas o ponteiro aponta para o endereço, não para a variável em si

  • @evertonbruno4918
    @evertonbruno4918 Рік тому +41

    Pra quem estudou ponteiro em C é muito intuitivo isso

    • @dricktricks4784
      @dricktricks4784 Рік тому +8

      Isso não tem nada a ver com ponteiros. Inclusive dá pra referenciar a memória em PHP com &.

    • @Jose-mq4un
      @Jose-mq4un 3 місяці тому

      e eu que fiz um shell usando c? fica muito mais intuitivo

  • @JoaoVitorBarg
    @JoaoVitorBarg Рік тому +93

    Mas faz muito sentido
    É como se $variavel fosse substituída por um outro texto ou seja $($variavel)

    • @raulabreu9198
      @raulabreu9198 Рік тому

      Concordo

    • @ewertonls_
      @ewertonls_ 11 місяців тому

      ou como se fosse a dereference de um ponteiro

    • @JoaoVitorBarg
      @JoaoVitorBarg 11 місяців тому

      @@ewertonls_ deferente?

    • @cursordgod2935
      @cursordgod2935 11 місяців тому +5

      Sim pior q faz total sentido, e sinto falta desse tipo de coisa em outras linguagens

    • @soestoufalandoaverdade4797
      @soestoufalandoaverdade4797 Місяць тому

      @@cursordgod2935 não, não faz sentido 😭😭😭
      Uma string sendo interpretada como variável/indicador.

  • @sitosoide
    @sitosoide Рік тому +1

    Informação muito interessante. isso para um sistema normal não é muito utilizado mas pra implementar códigos mais flexíveis e dinâmicos é muito útil. Posta mais curiosidades que é interessante.

  • @johnsmera7481
    @johnsmera7481 Рік тому +36

    Nunca programei em PHP mas isso é muito útil.

    • @kelcamargo
      @kelcamargo Рік тому +7

      Tudo depende de como usar, em react cai como uma luva no front

    • @felipemfrudeli
      @felipemfrudeli Рік тому +6

      acho que isso pode causar brechas de segurança na real

    • @johnsmera7481
      @johnsmera7481 Рік тому +1

      @@felipemfrudeli pq?

    • @actiong1393
      @actiong1393 Рік тому +2

      ​@@johnsmera7481eu acredito que é pq duas variáveis estão usando o mesmo valor, portanto, se uma dessas variáveis não tiver a proteção necessária, será um tiro no pé

    • @Larck6
      @Larck6 Рік тому

      @@actiong1393 na verdade nao dentro de um única chamada vc realiza 2 busca na memoria agilizando o envio de dados deixando ate mais rápido, pois o dado ja estava na memoria , e se vc consegue recuperar em uma chamada 2 dados e ótimo para otimizar.

  • @caseiro4144
    @caseiro4144 11 місяців тому

    Gostei do video, muito legal ver videos engracados sobre programacao, continua assim, irmao!

  • @mrpollar2820
    @mrpollar2820 Рік тому +7

    Esse é o conceito de variável variante, até hj eu não sei onde isso seria aplicado, só saiba que existe e tá lá!

  • @brunarafaela9688
    @brunarafaela9688 Рік тому +36

    A variável armazena, mas não deleta o antigo armazenamento... então ela consegue acessar... eu achei muito legal, tipo como outros comentários dá pra fazer "gambiarramento" 😅

  • @RodolphoRosa
    @RodolphoRosa День тому

    Caraca!!! Eu tava reconhecendo a voz e tinha certeza de que conhecia de algum curso, aí vi o nome!!! Aprendi c# com vc, pelo teu curso da udemy!!! Mto obrigado por me ensinar!!!

  • @jonathanrossettodefraga3513
    @jonathanrossettodefraga3513 Рік тому +4

    Outra propriedade que acabo usando bastante é a declaração de classes por meio do valor das variáveis, por exemplo: tenho duas integraçoes de pagamento, mas apenas uma fica ativa por vez, ao chamar a funcao que ira consumir o metodo da classe, retorno o nome da classe ativa e declaro com a variavel que contem o nome da classe: $nomeClasse()

  • @gustavosmarcolin3245
    @gustavosmarcolin3245 Рік тому +2

    Esse recurso dessa linguagem é uma sacada muito boa, e da pra fazer umas ferramentas bem legais com esse recurso

  • @macxionallan7843
    @macxionallan7843 Рік тому +6

    Acho isso bem útil, desenvolvo em php há alguns anos e já precisei chamar nomes de funções dinamicamente, assim como variáveis 🤙

    • @caiomedeiros6740
      @caiomedeiros6740 Рік тому

      verdade mano, acho o caso de uso dessa feature muito “específico”.

    • @silas190
      @silas190 Рік тому

      Você que já tem experiência, não sei programar ainda, e quero começar com php, acha uma boa ideia?
      Quero ser um desenvolvedor web

    • @caiomedeiros6740
      @caiomedeiros6740 Рік тому

      @@silas190 Mano, então, eu começaria pela lógica de programação, que é a mesma, independente da linguagem. Entender como o computador funciona. Daí sim você pesquisaria mais sobre áreas do desenvolvimento, já tendo uma noção.
      E, se quiser trilhar o caminho Web, sim, PHP é uma boa ideia, ele tem muitos Frameworks robustos para produtividade, um exemplo é o Laravel, trabalhei 1 ano com ele.
      E tem bastante vaga pra Dev PHP.

    • @StaJoannadArc
      @StaJoannadArc Рік тому +1

      É útil principalmente pra puxar um valor em um stdClass q possuí índices numéricos, n é possível fazer $var->6, então $$val = $val = 6; $var->$$val

    • @andersoncdz1
      @andersoncdz1 Рік тому +1

      Bom, isso foi gambiarra, pois existe uma função chamada call_user_func que serve para esse propósito.

  • @maxwellsoarespinto1
    @maxwellsoarespinto1 Рік тому +9

    Gostei da dica, não sei porque vou usar e nem quando vou usar. Mais gostei, vou usar.

  • @jadsoncriacao
    @jadsoncriacao Рік тому +21

    Isso se chama "variável dinâmica", e está disponível em outras linguagens como javascript por exemplo.

    • @nubunto
      @nubunto 9 місяців тому +1

      Aaahn… não tem isso em JS não. Da pra ler propriedades de objetos dinamicamente, mas é outra coisa bem diferente

    • @GustavoFurtado-Fatal
      @GustavoFurtado-Fatal 8 місяців тому +1

      Da para usar no Lua mais somente se a variável for global
      Usando através da tabela G
      for k, v in next, {"A","B","C","D"} do
      _G[v] = 0
      end

  • @SouAndersonDavid
    @SouAndersonDavid Рік тому +53

    Eu tô surpreso mesmo é o javascript tbm não ter isso kkkkk

    • @lakenomite
      @lakenomite Рік тому +3

      mas no js tem esse sistema que se chama "var" ou "variable"

    • @SouAndersonDavid
      @SouAndersonDavid Рік тому +3

      @@lakenomite tá falando de variável? Pra mim fazer isso no JS eu tenho que usar eval()

    • @lakenomite
      @lakenomite Рік тому +5

      @@SouAndersonDavid pra eu fazer isso no js eu uso var nome = "algo" ai depois uso var nome2 = nome e depois uso console.log(nome2)

    • @SouAndersonDavid
      @SouAndersonDavid Рік тому +4

      @@lakenomite eu sou dev pleno. Sei criar um sistema em back e front completo em js.
      Vou te dá um dica também: "var" está ultrapassado, agora usamos "const" e "let".
      Pesquise "const, let e var". Não usamos mais o "var"

    • @SouAndersonDavid
      @SouAndersonDavid Рік тому +5

      @@lakenomite ah li direito aqui, você não intendeu o vídeo do cara.
      Você simplesmente tá atribuindo uma variável a outra, mas no vídeo, o php transforma uma string em variável. Mesmo assim, estude const e let

  • @thiagouruba84
    @thiagouruba84 Рік тому +30

    Vi várias vezes esse vídeo e ainda não entendi! Kkkkk

    • @slashplaypro
      @slashplaypro Рік тому +20

      $variavel1 = "valor1";
      $variavel2="variavel1";
      Se você chamar $$variavel2, o php vai buscar uma variável com o nome do valor desta variável. Nesse caso, vai buscar a $variavel1 e retornar o seu valor, que é "valor1". Faz sentido?

    • @floquinho_videos
      @floquinho_videos Рік тому +1

      ​@@slashplayproah que bom , eu entendi certo kkkkkk. Pra mim isso pode até fazer sentido existir. Mas só vai fazer mais sentido quando tiver desenvolvendo o código.

    • @slashplaypro
      @slashplaypro Рік тому +1

      @@floquinho_videos Top mano. O PHP é uma linguagem top, mas tem muita gambiarra. Acho que eu não usaria isso, minha intuição é um pouco contra.

    • @tiagomatos6120
      @tiagomatos6120 Рік тому

      @@slashplaypro Toda linguagem da para fazer gambiarra, eu ja fiz em Java que é uma linguagem totalmente diferente em PHP, agora sé você usar orientação a objetos não tem o por que usar isso que ele mostrou no vídeo.

    • @slashplaypro
      @slashplaypro Рік тому

      ​@@tiagomatos6120Consegue dar um exemplo dessa aplicação mas com POO mano?

  • @FranciscoGomes.
    @FranciscoGomes. 8 місяців тому +1

    que delícia de linguagem, dar pra fazer mágica com essa feature

  • @welitonkira2830
    @welitonkira2830 8 місяців тому

    Cara essa sacada do php é maravilhosa.

  • @cafepradev
    @cafepradev Рік тому +5

    Isso é nativo da linguagem
    $var é uma variável e $$var é uma "variável variável" cujo nome é o valor de $var.
    Usado para criar variáveis dinamicamente.
    Um exemplo de uso, transformar valores de parâmetros GET em variáveis

  • @v_ctor
    @v_ctor 7 місяців тому

    compreensível mano, tenha um bom dia

  • @Angel-LosAngeles
    @Angel-LosAngeles Рік тому +7

    Isso chama MACRO SUBSTITUIÇÃO é muito útil.

  • @marciofuchshubermoraes2344
    @marciofuchshubermoraes2344 3 місяці тому

    Este é o conceito de variável dinâmica no PHP, este tipo de variável pode ser usada em parâmetros dinâmicos por exemplo, mais comum quando o dado é recebido de uma fonte externa como uma API

  • @gustavogoncalves1827
    @gustavogoncalves1827 Рік тому

    Excelente video!!!

  • @DanielRios549
    @DanielRios549 22 дні тому

    Não sabia disso, eu já precisei fazer isso em Javscript, por incrível que parece pode ser algo útil

  • @gabrielazzevedo2536
    @gabrielazzevedo2536 2 місяці тому

    O nome disso é variáveis variáveis. Muito útil para extinguir os Ifs em factory method.

  • @reies1001
    @reies1001 Рік тому

    cara, eu curto php dms
    é muito simples e de facil entendimento

  • @chrisanswood
    @chrisanswood Рік тому +2

    Adorei o loop do final hahaa E UM DOS MOTIDOS QUE... PHP

  • @TheXambitoGames
    @TheXambitoGames 9 місяців тому

    Pra variáveis dinâmicas isso faz todo sentido e pode deixar até o código mais limpo. No javascript da pra fazer quaseee a mesma coisa, mas de um jeito diferente. Suponhamos que você tenha um objeto abaixo
    const stocksPrices = {
    'TAEE11': 12.00
    'XPLG11': 100.00
    }
    são galores de ações, você pode obter o valor usando uma chave dinâmica tipo
    const stock = 'TAEE11'
    stocksPrices[stock] // => 12.00
    esse informação poderia estar vindo de uma api por exemplo, e o no php segue a mesma lógica 😁 toda linguagem tem isso

  • @rogeriosouza9369
    @rogeriosouza9369 8 місяців тому

    Pra mim isto foi muito útil e descobri intuitivamente.

  • @asminecraftr
    @asminecraftr Рік тому

    Isso é útil pra caramba

  • @claudiopf1964
    @claudiopf1964 Рік тому +23

    Podia ter essa referência em todas as linguagens. Eu sinto falta disso.

    • @jovem_guil
      @jovem_guil Рік тому +1

      estranhamente só serve para string

    • @julioDinisdLima
      @julioDinisdLima Рік тому +2

      ponteiro em c é mais ou menos essa pegada aí.

    • @jovem_guil
      @jovem_guil Рік тому +1

      @@julioDinisdLima sim

  • @mayconvsg
    @mayconvsg Рік тому +1

    Super intuitivo e lógico ela fazer isso. Ainda bem que faz =D

  • @webcomcafe
    @webcomcafe Рік тому +2

    É perfeitamente compreensível e aceitável. Se em um cenário eu quero chamar uma determinada variável com base em um valor, ao invés de fazer os famosos if/else ou até o switch/case, esse recurso pode muito bem ser utilizado para invocar dinamicamente a variável desejada passando seu nome através de um parâmetro. Isso também funciona com propriedades de objetos: $obj->{$prop}.
    O que me incomoda no PHP é justamente precisar usar um cifrão para declarar variáveis, isso deixa o código feio. Mas aí já é outra história.

    • @GuiadoProgramador
      @GuiadoProgramador  Рік тому

      Sim, é tipo um ponteiro(é chamado assim em outras linguagens).

  • @matheusalmeida7773
    @matheusalmeida7773 Рік тому +2

    Creio que a idéia deva ser a semelhante a ideia de trabalhar com ponteiros

  • @TheRobsantos777
    @TheRobsantos777 Рік тому +2

    CARA! cê tem que entender que muitos programadores web começaram pelo PHP, o primeiro DIM, DIM foi com PHP. Então tem muitos caras que tem realmente um carinho pela linguagem como não se vê em outras.

  • @kaktus12020
    @kaktus12020 5 місяців тому +2

    O povo critica o PHP como se linguagens C, C++, Erlang, Javascript, entre outras fossem uma maravilha em questão de sintaxe, simplicidade, objetividade, elegância e legibilidade.

    • @Hikikomori389
      @Hikikomori389 4 місяці тому

      C# e incrível 😊

    • @kaktus12020
      @kaktus12020 4 місяці тому

      @@Hikikomori389 eu conheço Python é fantástica, dizem que Ruby e Elixir também

    • @kaktus12020
      @kaktus12020 3 місяці тому

      @@Hikikomori389 C# herdou coisas feias de C e C++, por exemplo, os operadores || e &&

  • @moglia
    @moglia 3 місяці тому

    isso se chama variável variável eu uso muito para geração de código é um recurso ótimo não é palhaçada lembre que php foi feito para processamento de texto e isso é algo bastante útil para isso

  • @caclesi
    @caclesi 8 місяців тому +1

    Eu acho isso muito pratico, é quase uma meta variável

  • @clauberlima9413
    @clauberlima9413 5 місяців тому +1

    Isso se chama macro substituição. É muito antigo, a primeira vez que vi foi na década de 1980. É usada em linguagens interpretadas.

  • @andersondossantoscruz3685
    @andersondossantoscruz3685 Рік тому +2

    Trabalhei muito tempo com mumps, e lá era normal, inclusive chamar uma função que é valor de uma variável

  • @Maozinha500
    @Maozinha500 3 місяці тому

    Eu programo em ABAP da SAP esse recurso no ABAP se chama meta programação e é um recurso avançadíssimo da linguagem, em C e C++ temos o mesmo comportamento com Ponteiros e exige muito esforço de um iniciante pra poder entender o contexto o PHP sendo uma linguagem interpretada tem o contexto de reflexão , meta programação e ponteiros nativamente e ouso falar que exigem linguagens de propósito geral que não entregam isso, infelizmente o PHP não tem acesso ao hardware porém com APIs escritas e outras linguagens que entregam acesso ao hardware a única falha da linguagem é vencida.

  • @QuimZangui
    @QuimZangui 17 днів тому

    Para mim isso faz mais sentido que as bizarrices do JavaScript

  • @newtao
    @newtao Рік тому +3

    Eu amo essa feature, da pra fazer altas implementações.

    • @profano9201
      @profano9201 Рік тому

      isso é só uma gambiarra de arquitetura da linguagem, linguagens mais modernas tem formas mais elegantes de referenciar um valor a partir de uma string, tipo um dictionary, na verdade até o php ja tem a muito tempo algo parecido, essa "feature" é só um resquício de uma época que legibilidade não era tão importante

    • @newtao
      @newtao Рік тому

      @@profano9201 Com essa gambiarra dá pra fazer vários hackings que eu nunca vi em outras linguagens.
      Como você disse, é só gambiarra, mas se utilizar com cuidado, dá para pra fazer um bom trabalho e ainda economizar tempo.
      O core do wordpress, por exemplo, usa e abusa dessa "feature".

    • @profano9201
      @profano9201 Рік тому

      @@newtao da pra fazer a msm coisa com array a diferença é q o codigo fica legível e limpo, esse "hack" não possibilita fazer nada que ja não era possível, é só uma implementação antiga de uma lógica últil que envelheceu mal

    • @newtao
      @newtao Рік тому

      @@profano9201 Eu ainda acho que dá para fazer bastante coisa. Pode até ser considerado ultrapassado, mas para aplicações não tão grandes, podemos utilizar para criar interfaces e chamar métodos dinamicamente.
      Sem contar que evita deixar o projeto complexo, caso não seja necessário.
      Eu, por exemplo, em uma aplicação pequena, prefiro usar isso:
      $class = new Example;
      $method_name = "method_name";
      $class->$method_name();
      Do que encher meu código de ifs ou até mesmo usar um pattern como o Strategy

    • @newtao
      @newtao Рік тому

      ​@@profano9201 Pensando bem, dê fato dá pra fazer o mesmo código usando os arrays, sem if e sem nenhuma complexidade adicional.
      $class = new Example;
      $methods = [
      "method_name" => [$class, "method_name"],
      ];
      $method_name = "method_name";
      call_user_func($methods[$method_name]);
      Vou tentar substituir meus hábitos nesse caso.

  • @hellsingagiota1777
    @hellsingagiota1777 11 місяців тому +1

    O humor de um programador

  • @alexribeirodelima
    @alexribeirodelima 4 місяці тому

    isso é muito útil em alguns casos, vai fazer isso em java pra ver o que é engraçado

  • @claudiocesardeoliveirajuni3836

    Na verdade isso são ponteiros sim. O intepretador do PHP é escrito em C++, e toda e qualquer variável declarada no PHP é basicamente um pointer. No caso do `&&` você ta pegando uma referência do valor do pointer ( em linguagem C++ ). No PHP pode se chamar `variáveis variáveis`, mas tem sim ligação com pointers do C++.

    • @saitaminhark3211
      @saitaminhark3211 Рік тому

      Tá no documento oficial do PHP e tu ainda ta nisso kkkkkk

    • @MatheusGomes_
      @MatheusGomes_ Рік тому

      ​@@saitaminhark3211 num é kkkkk

  • @starroad179
    @starroad179 Рік тому +6

    Semana 367, eu acho que estou em um loop.

  • @pedrogabriel-ly8mm
    @pedrogabriel-ly8mm Рік тому

    E isso te abre um horizonte de possibilidades

  • @FabioPereira-nx3qb
    @FabioPereira-nx3qb 6 місяців тому

    Php tem 30 anos, naquela época a programação era usada de forma estruturada, sem POO, talvez esse recurso lá nos primórdios era usado para meta-programação ou na criação de adaptadores, exemplo: se tivessem várias variáveis com nome de cores, e uma outra variável chamada “ação” que fosse alimentada através de um input. Automaticamente rodaria o resultado da cor certa com pouquíssimas linhas de código. Hoje temos padrões pra isso, já naquela época não era como hoje. Mas tá aí disponível, com grandes poderes, grandes responsabilidades 😂😂

  • @EnnioSousa
    @EnnioSousa Рік тому +5

    PHP tem as traits que são bem legais tbm

    • @alien4006
      @alien4006 Рік тому

      e perigosas.

    • @EnnioSousa
      @EnnioSousa Рік тому

      ​@@alien4006não acho não. São bem úteis.

  • @Larck6
    @Larck6 Рік тому

    para quem nao entendeu e facil com uma chamada simples de escrita o echo vc consegue apontar 2 variáveis, economizando envios de busca ou ate msm de echo , ja usei muito e ajuda , basta lembra q e na ordem de declaração de variável. não e gambiara e nada disso, e só um apontamento de variável fácil e simples, se vc declara variável com $ vc chama ela com $, na ordem da declaração

  • @Pernambrock
    @Pernambrock Рік тому +15

    Porra isso deve ser muito util pra fazer metaprogramação, em python é um inferno.

    • @tiagomatos6120
      @tiagomatos6120 Рік тому

      Dificilmente vai precisar usar isso se você estiver usando orientação a objetos.

    • @PamellaCardoso-pp5tr
      @PamellaCardoso-pp5tr 3 місяці тому

      ​@@tiagomatos6120orientação a objetos kkkkkkkk voce pode programar em qualquer paradigma que preste e nao vai precisar disso.
      Em paradigma funcional, procedural... até programação competitiva não usam esse tipo de gambiarra.

    • @tiagomatos6120
      @tiagomatos6120 3 місяці тому

      @@PamellaCardoso-pp5tr Acho que você não deve saber que tem como declarar a tipagem de uma váriavel no PHP e geralmente quando se usa orientação a objeto acabam sempre declarando, ainda mais quem já usou Java igual a eu, que praticamente Java é uma linguagem totalmente orientada a objetos, tenta entender o comentário antes de comentar...

    • @tiagomatos6120
      @tiagomatos6120 3 місяці тому

      @@PamellaCardoso-pp5tr Não é gambiarra, PHP é uma linguagem fracamente tipada, por isso acontece isso, e eu mesmo nunca usei algo do tipo, até por que causam erros futuros no sistema.

    • @PamellaCardoso-pp5tr
      @PamellaCardoso-pp5tr 3 місяці тому

      @@tiagomatos6120 E desse quando voce precisa de orientação a objetos pra declarar tipagem?
      Se você vai pra qualquer outro paradigma o mesmo acontece com ainda mais rigor! Toda a construção da programação funcional se da em cima da teoria de categorias e as relações entre os elementos na categoria dos tipos. Programação funcional faz cada parte do seu codigo se comunicar através da sincronia entre os tipos de retorno.
      E bem... digamos que o mercado finalmente entendeu o valor de delegar o manejo dos erros a estrutura monadica, devido ao quão grande vem sendo a demanda por implementação de tipos option/maybe.
      Orientação a objetos é bom, mas ela não é o santo graal da programação que precisa ser usada em tudo, Na real se você pesquisar sobre, vai ver muito mais artigos sobre como orientação a objetos seguindo padrões SOLID e etc mais causa danos do que benefícios (só demoraram demais a perceber isso)
      manter-se de mente aberta é sempre importante.

  • @TrojanXDs
    @TrojanXDs Рік тому +1

    A título de curiosidade da pra fazer isso em python, usando:
    print(locals()['nome_da_variavel'])
    Não que seja uma boa prática, mas é possível.

    • @imperiaonlinebr
      @imperiaonlinebr 10 місяців тому +1

      É mais fácil falar o que não é possível fazer com Python 😂

  • @dylanfavaro
    @dylanfavaro 11 місяців тому

    Achei intuitivo.
    É como uma função dentro de função na matemática.
    Se temos f(x)=x+1, o valor retornado será apenas x acrescido de 1.
    Se temos g(x)=2x, o valor retornado será o dobro de x.
    Mas se temos g(f(x)), será primeiro acrescido 1 a x e então multiplicado o resultado por 2, pois o f(x) se torna o x da função g(x).

  • @edersil
    @edersil Рік тому +37

    Sempre nos cursos de PHP dão esse exemplo, mas não consigo entender na pŕatica pra que seria útil. (sou iniciante)

    • @gabrielavelino2980
      @gabrielavelino2980 Рік тому +41

      É útil para POG (Programação Orientada a Gambiarra kkkkkkkkkkkkk)

    • @ryanphpjs
      @ryanphpjs Рік тому +5

      ​@@gabrielavelino2980 Exato, isso é uma feature que deve ser evitada ao máximo, os casos de uso dela são tão específicos que provavelmente o programador nunca vai usar

    • @matecardoso
      @matecardoso Рік тому +9

      Tem vários casos de uso, quem acredita que não é programador de framework ou wordpress. Qualquer programador que já tenha trabalhado com PHP em alto nível sabe que tem várias probabilidades para o uso e não apenas com POG

    • @DMLorem
      @DMLorem Рік тому

      @@gabrielavelino2980 KKKKKKKKKKKKKKKKKKKKKKK

    • @jonathassoares884
      @jonathassoares884 Рік тому

      😂

  • @xandeco420
    @xandeco420 Рік тому +1

    KKKKKKKKKKKKKKKKKKKKKKKKKKK RI MUITO MUITO MUITO MUOITO MESO RI DEMAIS

  • @rothbardfreedom
    @rothbardfreedom 4 місяці тому

    Programadores dos anos 2020 descobrindo o que é um ponteiro

  • @alysonnunes8462
    @alysonnunes8462 Рік тому

    "Por acaso", você literalmente definiu isso.
    Não é uma falha, é uma feature. Praticamente impossivel fazer isso "sem querer".

  • @digital_refuge
    @digital_refuge Рік тому +2

    Eu acho bastante útil essa funcionalidade

  • @theodore_hetero8944
    @theodore_hetero8944 Рік тому

    Eu me perdi quando ele falou a palavra variável pela segunda vez

  • @luffyfat2
    @luffyfat2 8 місяців тому +1

    Única coisa engraçada em php é quando dizem que é lá morreu.😂😂

  • @fabriciobrandao9188
    @fabriciobrandao9188 10 місяців тому +1

    Isso acontece pq a variável $outra vai ser substituída por "cor", então na expressão $$outra, vai virar $cor, se tornando uma variável

  • @oileroua0002
    @oileroua0002 11 місяців тому

    É um vídeo recursivo kkkkkkkk muito foda

  • @luanleiteleao8848
    @luanleiteleao8848 2 місяці тому

    Cara, isso aí é um ponteiro, apenas isso, se for assim, C é uma linguagem engraçada também.

  • @lillianpaula2178
    @lillianpaula2178 Рік тому +3

    Na verdade é até um pouco confuso, mas é muito interessante🤔👏

  • @marcola4767
    @marcola4767 Рік тому +10

    programadores de php descobrindo ponteiros

  • @rodrigosinastre7203
    @rodrigosinastre7203 11 місяців тому

    É isso que dá faltar as vídeo aulas gravadas de programação 😂

  • @ArthurHenriqueta
    @ArthurHenriqueta Рік тому

    Isso é útil pra programação dinâmica

  • @gilsonconceicao5201
    @gilsonconceicao5201 4 місяці тому

    Superou javascript

  • @lucassouzacosta915
    @lucassouzacosta915 Рік тому

    MINHA CABEÇA BUGOOOOOU

  • @wcsantana
    @wcsantana Рік тому +3

    Se não me engano, no Clipper isso se chama macro substituição. Coisa da década de 1990.

    • @logicadonumest
      @logicadonumest Рік тому

      isso existe em outras linguagens, inclusive no javascript, la se chama literalização, tem um nome parecido em ingles que não lembro, mas uso sempre no js esse truque pra tornar algumas coisas mais dinamicas

  • @guilhermewxs1840
    @guilhermewxs1840 6 місяців тому

    Desenvolvedores web descobrindo o que é um ponteiro

  • @LeonanT
    @LeonanT 11 місяців тому

    Caramba. Isso eu nao sabia. Vai me ajudar muito nas gambiarras kkkk

  • @max_aurorinha
    @max_aurorinha 10 місяців тому

    Agora eu vou aprender PHP

  • @YamiDev784
    @YamiDev784 Рік тому

    Relaxa amigo, não só foi vc que não entendeu nada, tô contigo ✊

  • @LuisFelipe-pq9lr
    @LuisFelipe-pq9lr Рік тому

    Parece o ponteiro do C, a função é bem parecida e a utilidade dele é pegar o endereço de memória ou valor que está naquele endereço e consegue puxar ou alterar

  • @Wallison_994
    @Wallison_994 2 місяці тому

    variáveis dinâmicas, eu demorei pra entender isso quando estudei kkkkkk

  • @rodrigofarias2620
    @rodrigofarias2620 Рік тому +1

    É o que se chama variável variável. Apesar de "engraçado" pode ser útil.

  • @johncarrick4639
    @johncarrick4639 Місяць тому

    Lembra muito o apontador do apontador de c++ 😂😂😂😂😂😂

  • @lucasnatanael2138
    @lucasnatanael2138 Рік тому +1

    Achei foda pra caramba kakakakakkakak

  • @maiconmachado1155
    @maiconmachado1155 Рік тому

    Pow, eu não lembro onde eu usava isso, mas eu gostava pra caramba dessa funcionalidade

  • @hik0shi282
    @hik0shi282 5 місяців тому

    Quando eu entendi, eu simplesmente falei um "ha" bem sincero. Muitas coisas interessantes da pra se fazer com php

  • @rafaelmarcos9733
    @rafaelmarcos9733 4 місяці тому

    Eu fiquei impressionado quando descobri que eu podia guardar uma string com o nome de uma classe e criar objetos a partir dessa variável, também funciona com métodos.
    E eu criticando o JavaScript

  • @charlesbraga2813
    @charlesbraga2813 11 місяців тому

    Vale uma observação que isso não é uma gambiarra, pelo contrário, é muito útil quabdo estamos trabalhando com funções extremamente abstradas e necessita de uma listagem sem ser um vetor.

  • @devmobilador9662
    @devmobilador9662 Рік тому

    No início não entendi nada, no final estava como no comeco😂

  • @bora_programar
    @bora_programar Рік тому

    Isso deve dar uma dor de cabeça de leve na hora de debugar esse macarrão

  • @gustavohenn262
    @gustavohenn262 Рік тому

    Uma vez fiquei tão nervoso por causa disso, estava mexendo em um código de um plugin do WordPress e tinha isso, eu nem fazia ideia q isso existia e fiquei Índia todo quebrando a cabeça para tentar entender o por que havia variáveis com dois sinais de dólar. PHP, eu te odeio e te amo ao mesmo tempo.

  • @alantchunay
    @alantchunay 10 місяців тому

    no python algo parecido pode ser realizado com a função nativa do python "eval()"
    cor = "Azul"
    outra = eval("cor")
    print('outra')
    # output
    'Azul'

  • @Ponto15_b
    @Ponto15_b 9 місяців тому

    É oficial, preciso estudar mais para entender kkk depois de algum tempo eu volto aqui

  • @SoloRandi0
    @SoloRandi0 Рік тому

    Otimização foi pra casa do krl Kakakakaka

  • @andy_desu
    @andy_desu 2 місяці тому

    É muito é massa 😂❤