Search code examples
codeignitercodeigniter-3hmvc-codeigniter

CodeIgniter +HMVC error


1st-time setup CodeIgniter HMVC. when I run the code I face this error. An uncaught Exception was encountered Type: Error

Message: Call to undefined method MY_Loader::_ci_object_to_array()

Filename: C:\xampp\htdocs\ciall\hmvc\application\third_party\MX\Loader.php

Line Number: 300

Backtrace:

File: C:\xampp\htdocs\ciall\hmvc\application\modules\foo\controllers\foo.php Line: 23 Function: view

File: C:\xampp\htdocs\ciall\hmvc\index.php Line: 315 Function: require_once


Solution

  • Add this to the MY_Loader there is a problem with the HMVC and latest version of codeigniter and best to use this

    Link here https://pastebin.com/vNUhJCss

    The person in charge of HMVC has not fixed it yet

    <?php (defined('BASEPATH')) OR exit('No direct script access allowed');
    
    /* load the MX_Loader class */
    require APPPATH."third_party/MX/Loader.php";
    
    class MY_Loader extends MX_Loader
    {
        /** Load a module view **/
        public function view($view, $vars = array(), $return = FALSE)
        {
            list($path, $_view) = Modules::find($view, $this->_module, 'views/');
    
            if ($path != FALSE)
            {
                $this->_ci_view_paths = array($path => TRUE) + $this->_ci_view_paths;
                $view = $_view;
            }
    
            return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => ((method_exists($this,'_ci_object_to_array')) ? $this->_ci_object_to_array($vars) : $this->_ci_prepare_view_vars($vars)), '_ci_return' => $return));
        }
    }
    

    Hope this helped if does please accept answer