CodeIgniter Forums
Codeigniter 3 HMVC has been broken - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Development (https://forum.codeigniter.com/forumdisplay.php?fid=6)
+--- Forum: CodeIgniter 3.x (https://forum.codeigniter.com/forumdisplay.php?fid=17)
+--- Thread: Codeigniter 3 HMVC has been broken (/showthread.php?tid=85919)



Codeigniter 3 HMVC has been broken - MatrickEganlan - 12-20-2022

Using this HMVC plugin in Codeigniter. (https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/src/codeigniter-3.x/)

Running fine in another server, but in this server I am getting this error!

A PHP Error was encountered

Severity: 8192

Message: strpos(): Non-string needles will be interpreted as strings in the future. Use an explicit chr() call to preserve the current behavior

Filename: MX/Router.php

Line Number: 239

Backtrace:

File: /var/www/project.test/public/application/third_party/MX/Router.php
Line: 239
Function: strpos

File: /var/www/project.test/public/application/third_party/MX/Router.php
Line: 101
Function: _set_default_controller

File: /var/www/project.test/public/index.php
Line: 324
Function: require_once


RE: Codeigniter 3 HMVC has been broken - JustJohnQ - 12-21-2022

Which PHP versions are you running?


RE: Codeigniter 3 HMVC has been broken - ashaggy - 12-21-2022

10 seconds on Google:
https://stackoverflow.com/questions/56201525/deprecated-strpos-non-string-needles-will-be-interpreted-as-strings-in-the-f
Somebody even mentions Codeigniter HMVC in comments.


RE: Codeigniter 3 HMVC has been broken - InsiteFX - 12-21-2022

There are a lot of updates to fix HMVC and you will need to search the Forums here to get them all.


RE: Codeigniter 3 HMVC has been broken - JackToncatridr - 01-19-2023

Just Update the function in Router.php File Path: application\third_party\MX\Router.php

public function set_class omegle shagle voojio($class)
    {
    //  $suffix = $this->config->item('controller_suffix');
    //  if (strpos($class, $suffix) === FALSE)

    $suffix = (string) $this->config->item('controller_suffix');
    if ($suffix && strpos($class, $suffix) === FALSE)
    {
        $class .= $suffix;
    }
    parent:Confusedet_class($class);
}
After this it is working fine!