call_user_func_array
create_function
Funções para Manuseamento de Funções
PHP Manual

# call_user_func

(PHP 4, PHP 5)

call_user_func — Chama uma função de usuário dada pelo primeiro parâmetro

### Descrição

mixed call_user_func ( callback `$function` [, mixed `$parameter` [, mixed `$...` ]] )

Chama uma dada função definida pelo usuário pelo parâmetro `function`.

### Parâmetros

`function`

  A função a ser chamada. Métodos de classe podem também ser invocados estaticamente usando esta função passando array($classname, $methodname) para este parâmetro.

`parameter`

  Zero ou mais parâmetros a ser passado para a função.

  > Nota: Note que os parâmetros para call_user_func() não são passado por referência.

  > `<?php
  > function increment(&$var)
  > {
  > $var++;
  > }
  > $a = 0;
  > call_user_func('increment', $a);
  > echo $a; // 0
  > call_user_func_array('increment', array(&$a)); // Você pode também usar assim
  > echo $a; // 1
  > ?>`

### Valor Retornado

Retorna o resultado da função, ou `FALSE` em erro.

### Exemplos

Exemplo #1 Exemplo da call_user_func()

`<?php
function barber($type)
{
echo "You wanted a $type haircut, no problem";
}
call_user_func('barber', "mushroom");
call_user_func('barber', "shave");
?>`

Exemplo #2 Usando call_user_func() com nome do namespace

`<?php
namespace Foobar;
class Foo {
static public function test() {
print "Hello world!\n";
}
}
call_user_func(__NAMESPACE__ .'::Foo::test'); // A partir do PHP 5.3.0
// Hello world!
call_user_func(array(__NAMESPACE__ .'::Foo', 'test')); // A partir do PHP 5.3.0
// Hello world!
?>`

Exemplo #3 Usando um método da classe

`<?php
class myclass {
static function say_hello()
{
echo "Hello!\n";
}
}
$classname = "myclass";
call_user_func(array($classname,'say_hello'));
call_user_func($classname .'::say_hello'); // A partir do 5.2.3
?>`

### Veja Também

- call_user_func_array() - Chama uma dada função de usuário com um array de parâmetros
- is_callable() - Verifica se o conteúdo da variável pode ser chamado como função
- informações sobre o tipo callback

call_user_func_array
create_function
Funções para Manuseamento de Funções
PHP Manual