Bom pessoal, já tenho um bom conhecimento em Java, por isso decidi começar aprender PHP, e no meio dos estudos me deparei com uma funcionalidade da linguagem: criar uma variável utilizando o conteúdo de outra variável, variável de variável.
$a = "variavel";
$$a = "variavel de variavel";
Minha dúvida seria, quando, na vida real, eu utilizaria essa funcionalidade, pois nos meus estudos não consegui encontrar uma aplicação real para essa função?
Agradeço.
E ai , beleza ?
Algumas linguagens como PHP/JavaScript são de tipagem fraca ,isso permite que você não precise declarar o tipo da variável (float/double/int) a vantagem disso é que você consegue ter mais facilidade na hora de programar e também o desenvolvimento pode ser mais rápido do programa. a desvantagem é que pode tornar a detecção de erro mais difícil.
Outras linguagens como Java/Pascal são de tipagem forte ou seja você precisa declarar o tipo da variável a vantagem disso é que é boa para iniciantes já que eles não tem muito conhecimento de programação , a desvantagem é que prende programadores mais veteranos.
Essas são as vantagens que eu vejo entre os dois tipos. Se quiser saber mais sobre o assunto eu recomendo que leia o link a baixo.
1 curtida
Este é o ponto.
Java possui uma palavra reservada chamada goto. Quando você vai usar goto, no java?
É um recurso da linguagem, é algo que existe, mas, você não precisa utilizar.
P.S.: Eu conheço de programação PHP desde 2007 e nunca tinha visto tal estrutura.
1 curtida
Não é muito comum hoje em dia devido o php possuir recursos de reflexão, mas antigamente era uma forma de “simular” esse recurso, alguns frameworks usam para FrontController por exemplo…
Digamos que você tenha um formulário e pretende mandar os dados do html para o php pegar, você cria um MVC rústico chamando o controle e indicando o método a ser executado…
<form mehotd="post" action="Controle.php?act=saveCad">
No php você o chamaria dessa forma…
// Controle.php
class Controle {
public function saveCad() {...}
}
$metodo = $_POST['act'];
$controle = new Controle();
$controle->$metodo(); // $controle->saveCad();...
Algo nesse sentido, e o termo técnico no php para isso são variáveis variantes, pesquise mais a respeito, inclusive cai na certificação…
Tendo o exemplo acima mostrado, você pode imaginar um controlador central chamando os métodos ou outros controles e assim criar uma estrutura dinâmica “básica” já que a API de Reflection é robusta o suficiente para esse fim hoje em dia… bons estudos!
2 curtidas
Valeu pessoal, conseguiram tirar minhas dúvidas e um pouco além
Acho que peguei pesado já te mostrando orientação a objetos diretamente e pulando etapas, outro exemplo bem básico…
$nivel1 = 'valor';
$nivel2 = 'nivel1';
$nivel3 = 'nivel2';
echo $nivel3; // imprime nivel2...
echo $$nivel3; // esta no nivel2 e imprime nivel1...
echo $$$nivel3; // esta no nivel1 e imprime valor...
echo $$$$nivel3; // erro pois não existe um nivel0 por exemplo...
Basicamente o que o php faz são apontamentos assim como em linguagem C, a diferença é que ao invés de usar um endereço de memória, usamos os nomes das variáveis…
1 curtida