Почему мой ‘обратный вызов выключения’ недействителен при использовании register_shutdown_function ()?

Предупреждение: register_shutdown_function (): неверный обратный вызов выключения

trait ErrorTrait {

public function shutDownFunction() {
$error = error_get_last();
// fatal error, E_ERROR === 1
if ($error['type'] === E_ERROR) {
//do your stuff

$messageStore="Using $this when not in object context";

if (strstr ( $error['message'],$messageStore))

{
echo "found it";

}

}
}public function shutdown_function()
{
register_shutdown_function('shutDownFunction');
}

}

Я использую эту черту в своем основном классе и вызываю функции из нее

    use ErrorTrait;

public function test()
{   self::shutDownFunction();self::shutdown_function(); }

И затем в этот момент я вызываю тестируемую функцию в функции под названием «запустить»

Я просто вызываю функцию.

      public function run()
{
self::test ();
// Rest of code}

Есть идеи, почему это вызывает проблемы?

4

Решение

Вы передаете строку вместо вызываемого в register_shutdown_function, Звонок должен выглядеть так

register_shutdown_function([$this, 'shutDownFunction']);
5

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector