Как добавить модульное расширение wiredesignz в codeigniter 3.0

Я пытаюсь добавить стороннее расширение для создания приложения HMVC, используя Codeigniter 3.0

Но когда я добавляю MY_Loader а также MY_Router файлы в папку ядра и папку MX в Third_party папка, она генерирует фатальную ошибку:

Неустранимая ошибка: вызов неопределенного метода MY_Loader :: _ ci_object_to_array ()
в C: \ xampp \ htdocs \ codeigniter \ application \ third_party \ MX \ Loader.php
по линии 300.

Когда я их удаляю, приложение работает отлично. Существуют ли дополнительные настройки, необходимые для запуска приложения?

4

Решение

Это происходит потому, что функция, используемая в MX / Loader.php, больше не существует в CodeIgniter.

Вы можете добавить его обратно в Loader.php

protected function _ci_object_to_array($object) {
return is_object($object) ? get_object_vars($object) : $object;
}

Источник

8

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

Откройте файл приложения / third_party / MX / Loader.php

protected function _ci_object_to_array($object) {
return is_object($object) ? get_object_vars($object) : $object;
}

добавить вышеуказанную функцию в класс Loader.

2

Я нашел следующее решение

В application / third_party / MX / Loader.php вы можете изменить следующее.

В публичном представлении функции ($ view, $ vars = array (), $ return = FALSE) Ищите … (около строки 300)

return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));

Замени это

if (method_exists($this, '_ci_object_to_array'))
{
return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));
} else {
return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_prepare_view_vars($vars), '_ci_return' => $return));
}

Возможно, Wiredesignz скоро выпустит обновление для него. Тем временем вы можете реализовать вышеуказанное исправление и возобновить кодирование.

0

На линии 300 приложения / third_party / MX / Loader.php

Эта строка генерирует ошибку с CI 3.1.3

 return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_object_to_array($vars), '_ci_return' => $return));

Заменить на эту строку.

return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_prepare_view_vars($vars), '_ci_return' => $return));
}
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector