CodeIgniter Forums

Full Version: Controller not found when using namespaced modules
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi;

I new to the psr4 world and I am trying to test Modules in CodeIgniter 4 I did the following:

1) Create folder Modules with the following structure:

application
Modules
..... Blog
.......... Controllers
............... BlogController.php
.......... Models
.......... Views
............... welcome_message.php

2) update application/Config/Autoload.php $psr4:

$psr4 = [
  'Config'                     => APPPATH.'Config',
  APP_NAMESPACE                => APPPATH,         // For custom namespace
  'App'                        => APPPATH,         // To ensure filters, etc still found
  'Modules'                    => APPPATH.'../Modules'
];


3) add the routes: $routes->add('blog', 'Modules\Blog\Controllers\BlogController::index');

4) The Content of BlogController.php

<?php
namespace Modules\Blog;
use CodeIgniter\Controller;

class BlogController extends Controller
{
   public function index()
   {

       return view('welcome_message');
   }

   //--------------------------------------------------------------------

}
 

5) when trying to open http://example.com/blog it returns: 404 - File Not Found.

6) I tried debugging the code line by    class_exists($this->controller, true) in CodeIgniter.php line 681 returns false.

Can any one help?
(02-21-2017, 08:10 AM)InsiteFX Wrote: [ -> ]Modules in CodeIgniter 4

I am using this but returned :
404 - File Not Found
After about 8 hours of debugging I found the issue, the name space should be defined like this:

 namespace Modules\Blog\Controllers;