HMVC на CodeIgniter 3 не работает — получение 404

Привет, я хотел бы помочь, пожалуйста.

Я пытаюсь настроить модульность моей установки CI 3, но, похоже, не работает. Я использую найденный пакет wiredesignz Вот на вкладке «Филиалы».

Шаги, которые я сделал:

  1. Скопировано MY_Loader & MY_Router в приложении / ядре
  2. Скопированная папка MX в приложении / third_party
  3. Скопировал эту строку кода в application / development / config.php (я переместил config.php в папку для разработчиков)

    // установить местоположение для модулей
    $ config [‘modules_locations’] = массив (
    APPPATH.’modules / ‘=>’ ../../modules/ ‘,
    );

  4. созданный

    приложение
    — модули
    — контроллеры
    — Test.php
    — модели
    — Просмотры
    — test.php

с моим Test.php, как это

class Test extends CI_Controller {

function __construct() {
parent::__construct();
}

public function index() {
$this->load->view('test');
}
}

просто чтобы убедиться, что все работает нормально, но когда я нажимаю на мой браузер localhost / myapp / test, я получаю ошибку 404.

Есть идеи, что я делаю не так?

3

Решение

Вы пытались поместить контроллеры и представления в тестовую папку внутри папки модулей?

Означает что-то подобное

применение / модули / тест / контроллеры / test.php

2

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

Папка с модулями HMVC для Codeigniter 3
Как реализовать HMVC в codeigniter 3.0?

codeigniter 3 hmvc tree reqire файлы
Я проверял работы

2

Попробуйте изменить CI_Controller на этот MX_Controller

class Test extends MX_Controller {

function __construct() {
parent::__construct();
}

public function index() {
$this->load->view('test');
}
}

Но я думаю, что вам также нужен пример папки подмодули

modules => admin => controllers
modules => admin => controllers => Test.php
modules => admin => models
modules => admin => views
modules => admin => views => test.php

Убедитесь, что вы настроили свои маршруты

Пример:

$route['test'] = "admin/test/index";
0

Добавьте эти строки в application / third_party / MX / Loader.php после строки 307,

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

На всякий случай, если у кого-то все еще есть эта проблема, даже при том, что структура файла / папки является правильной, в моем случае, и мне потребовалось несколько дней, чтобы выяснить это, было 2 дополнительных вопроса:

  1. В этом я не уверен на 100%, но если я правильно помню, я не мог видеть подпапки, поэтому мне пришлось снова выполнить команду chmod 755
  2. Это был убийца: мое имя файла было в нижнем регистре («welcome.php» вместо «Welcome.php») для контроллера. Как только я переименовал файл в верхний регистр, я избавился от 404, и все заработало.
0
По вопросам рекламы [email protected]