Создайте динамическую функцию php и запустите ее позже - сохраните в переменную - PullRequest
2 голосов
/ 03 января 2011

Я пытаюсь создать функцию для запуска позже.

В php 5.3.2-1 все работает нормально. Но в 5.1.6 это не так.

Код:

$func = function(){                                                             
  echo "Hello!";                                                                
};                                                                              

echo "Before Hello";                                                            
$func();   

Кто-нибудь знает, как эмулировать это в 5.1.6?

Спасибо.

Eduardo

Ответы [ 2 ]

7 голосов
/ 03 января 2011
$func = create_function('','echo "Hello!";');

echo "Before Hello";
$func();

, чтобы иметь возможность "назначить функцию переменной", не углубляясь в код eval-ish:

function my_not_so_anonymous_function1()
{
    echo "Hello!";
}
$func = 'my_not_so_anonymous_function1';

echo "Before Hello";
$func();
3 голосов
/ 03 января 2011

Анонимные функции доступны начиная с PHP 5.3. Вы не можете использовать их в более старых версиях. Взгляните на документы .

...