Função do call_user_func (Qual a real função e objetivo do callback)?

Qual a real função e objetivo do callback?

Observação: li na documentação mas está muito abstrato para meu entendimento.

1 curtida

call_user_func e a função responsável em chamar dinamicamente uma função do próprio core PHP ou então criada por você, exemplo:

Código:

<?php

    function sum($a, $b) 
    { 
    	return $a + $b;
    }

    class operation 
    {
    	public function sum($a, $b) 
    	{ 
    		return $a + $b;
    	}
    }

    $value0 = call_user_func('sum', '10', '20');
    $value1 = call_user_func(array('operation', 'sum'), 10, 30);

    echo $value0;
    echo '<br>';
    echo $value1;

Saída:

30
40

ai eu pergunto será necessário fazer isso, já que é muito fácil chamar somente a função (e/ou métodos de classes), talvez em algum momento no código onde a dinâmica for necessária.


Uma forma de explicar um callbacks segundo Ribeiro, R. Takiguti - Callback em PHP Callback é um mecanismo utilizado por uma linguagem para que uma função seja transmitida na forma de parâmetro para outra função. Uma função com comportamento genérico recebe um callback por parâmetro e usa a função callback para realizar as operações específicas. Desta forma, é possível utilizar a função de diferentes formas. Disponível em: <https://rubsphp.blogspot.com/2010/01/callback.html>, 2010. Acesso em: 15 jan. 2019

Referencias importantes:

2 curtidas