Ошибка в moxiemanager с PHP7 - PullRequest
0 голосов
/ 29 июня 2018

После обновления версии с PHP5 до PHP7 появляется ошибка при попытке вставить изображения из плагина moxiemanager из tinymce, который я интегрировал в проект.

просто скажи мне: Ошибка: Преобразование массива в строку

1 Ответ

0 голосов
/ 29 июня 2018

Через несколько часов я смог найти ошибку

В частности: /home/user/website/admin/js/vendor/tinymce/plugins/moxiemanager/classes/Util/EventDispatcher.php:118

В методе:

public function dispatch($sender, $name, $args) {
    $name = strtolower($name);

    if (isset($this->observers[$name])) {
        $observers = $this->observers[$name];
        $args->setSender($sender);

        for ($i = 0, $l = count($observers); $i < $l; $i++) {
            $value = $observers[$i][1]->$observers[$i][0]($args);

            // Is stopped then break the loop
            if ($value === false || $args->isStopped()) {
                return $args;
            }
        }
    }

    return $args;
}

Вы должны заменить следующую строку:

$value = $observers[$i][1]->$observers[$i][0]($args);

Для этого:

$value = $observers[$i][1]->{$observers[$i][0]}($args);

PHP7 использует абстрактное синтаксическое дерево при анализе исходных файлов. Косвенный доступ к переменным, свойствам и методам теперь будет строго оцениваться слева направо.

...