Há muito tempo atrás eu havia postado uma curiosidade em PHP, hoje eu veio completar com outras curiosidades, ao menos para mim. Faz muito tempo que não programo em PHP, pra ser sincero nem sei direito nem em que versão a linguagem se encontra, mas andei brincando com a versão que tenho aqui e vou mostrar para vocês as coisas “bestas” que fiz.
No primeiro post eu atribuía uma função a uma variável e usava esta do mesmo modo que uma função $funcaoVar(parametros). Descobri que o mesmo se pode fazer com classes, ou seja, $classe = ẗeste (onde teste é o nome da classe), você pode usar assim:
CODE
<?
class Teste {
function Teste(){
print "funfou";
}
}
$variavelClasse = Teste;
$objeto = new $variavelClasse();
?>
Eu sinceramente não sei qual a grande utilidade disso, talvez exista alguma. Você pode sair passando as descrições das classes para dentro de alguma função e criar os objetos em algum momento oportuno. O fato é que você vai lidar com a descrição da classe e não o objeto.
A outra curiosidade diz respeito a funções em PHP. Em C existe a seguinte possível declaração de função: int Soma(int a, int b, …), onde os três pontos são parâmetros não obrigatórios que você pode passar e tratar dentro da função usando var_args [1]. Curioso se isso seria possível em PHP testei e deu nisso aqui.
CODE
<?
function Soma($a,$b){
return $a+$b;
}
Soma(1,2,3,4,9,5,6,7,8);
?>
Que utilidade teria isso? Ofuscar o seu código para que ninguém entenda, talvez. Como disse, há tempos não programo em PHP se tiver alguém que programa por aqui e souber me dizer qual a utilidade disso. E sim, essa chamada a Soma com n parâmetros não dá erro.
É isso, sei que foi um post bem besta, mas eu fiquei curioso e sempre tento fazer algumas coisas que faço em python ou C em PHP só para testar, vai que funfa né. A preguiça e quantidade coisas que tenho que fazer me impedem de pesquisar mais sobre essas coisas e por aqui no blog como referência, mas se alguém já tiver visto isso por ai ficaria grato em dar uma lida também =].
