Funções com nomes variáveis em PHP, isso existe sim!

Publicado por Celso Goya em 22/12/2003

[ Hits: 9.431 ]

 


Funções com nomes variáveis em PHP, isso existe sim!



Bom, este é mais um desses recursos do PHP que tendem à paranormalidade, mas vamos lá. É possível sim, criar funções ou então sobrecarregar funções com nomes variáveis.

Para fazer isso veja o seguinte código:

// Esta é uma função simples
function teste($texto = "") {
echo($texto);
}

// Mais outra função simples
function abusandodophp($texto = "") {
return strlen($texto);
}

// Este é o nome da função que desejamos executar
$nomefuncao = "teste";

// Agora é só fazer de conta que a variável é a própria função e pronto
$nomefuncao("A Mágica está funcionando");
$nomefuncao("
");

// Vamos mudar a função que queremos executar
$nomefuncao = \"abusandodophp\";

// Agora vamos executá-la dentro de um comando que usa a precedência, ou seja, precisa ser executado de dentro para fora...
echo ($nomefuncao("Chutando o balde"));

$nomefuncao("
");

teste("Jeito normal");

[]'s
Celso Goya
moinho.net

Outras dicas deste autor

10 dicas para jogar Battle for Wesnoth

xSane :: Acabe já com a insanidade do seu scanner

weblogic :: iniciando como serviço

Pinguins correndo pelas janelas!

Freecraft suspenso pela Blizzard

Leitura recomendada

Colocando o "bcompiler" pra funcionar no PHP5

Gerando documentação de projetos PHP com o DocBlox

CakePHP - Trocar model no controller

Váriaveis globais no PHP

10 dicas de otimização em programação PHP

  

Comentários
[1] Comentário enviado por TiagoSouza em 27/02/2012 - 14:30h

Doidera, mas não tem utilidade :D

[2] Comentário enviado por removido em 02/08/2014 - 20:12h

rsrs, isso ae todo mundo que programa em PHP conhece...

É o mesmo que:

<?php

class Teste{

public function prints($message)
{
echo $message;
}
}

function newInstance($class)
{
return new $class();
}

$Teste = newInstance("Teste");
$Teste->prints("Hello World!\r\n");



$myFunction = function($message)
{
echo $message;
};

$myFunction("xd\r\n");
?>



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts