Passar uma funcao como parametro de outra funcao

1,258 views
Skip to first unread message

Victor Pereira

unread,
Jul 7, 2010, 7:01:47 PM7/7/10
to php-b...@googlegroups.com
fala pessoa...

to com uma duvida aqui... 
Tem como passar uma funcao como parametro de outra funcao em PHP??
se tiver alguem poderia dar um exemplo... coisa boba mesmo...soh pra entender??

vlw!!
-------------------------------------------
Victor Pereira
msn: victo...@msn.com
Twitter: www.twitter.com/victor1307
Cel: (32) 8889-8919

Rafael Eduardo Kassner

unread,
Jul 7, 2010, 7:09:56 PM7/7/10
to php-b...@googlegroups.com
$a = "arquivo.extensao_falsa.txt";

echo end(explode(".", $a));

Mas alguns casos (como o exemplo acima) geram erro de E_STRICT, mas funciona.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "php-brasil" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para php-b...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-brasil+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-brasil?hl=pt-BR.

Leonardo de A. Pereira

unread,
Jul 7, 2010, 9:07:47 PM7/7/10
to php-b...@googlegroups.com
Um exemplo mais simples ainda:

function falarOi(){
    echo "Oi!";
}
function falarTchau(){
    echo "Tchau!";
}
function agir($oquefazer){
    if(is_callable($oquefazer)){
        $oquefazer();
    }
}

echo "Diga oi...";
agir(falarOi);
echo ".....Diga tchau...";
agir(falarTchau);

Victor Pereira

unread,
Jul 7, 2010, 9:12:55 PM7/7/10
to php-b...@googlegroups.com
Vlw pessoal!!! ajudaram mto aqui...
ja entendi como faz!!!

;-)

vlw!!!

-------------------------------------------
Victor Pereira
msn: victo...@msn.com
Twitter: www.twitter.com/victor1307
Cel: (32) 8889-8919


Bruno Reis

unread,
Jul 7, 2010, 10:49:40 PM7/7/10
to php-b...@googlegroups.com
Victor,

no php 5.3 você pode usar as closures ou lambdas também. Com esse
recurso você pode atribuir uma função a uma variável e não apenas o
nome dela. Algo assim:

function executa(Closure $f,$oQueFalar) {
$f($oQueFalar);
}

// Aqui a declaração da função (anônima) já atribuindo a uma variável....
$falaIsso = function($isso) {echo $isso};


executa($falaIsso,'Bom Dia');

Mychel Candido

unread,
Jul 8, 2010, 7:45:54 AM7/8/10
to php-b...@googlegroups.com
O legal tambem seria voce passar um objeto como parametro


public function teste(Nome_Da_Classe $obj){

           $obj->funcao_que_voce_quer_chamar();

Elton Schivei Costa

unread,
Jul 9, 2010, 12:25:58 AM7/9/10
to php-b...@googlegroups.com
JW, se o grupo receber alguma mensagem minha da netlog.com, exclua-a, esta porra tem hora que envia sem eu pedir.

Atenciosamente.

Elton Schivei Costa
Analista de Sistemas.
Reply all
Reply to author
Forward
0 new messages