• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Controller not found when using namespaced modules

#1
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?
Reply

#2
Modules in CodeIgniter 4
What did you Try? What did you Get? What did you Expect?

Joined the CodeIgniter Community in 2009.          ( Skype: insitfx )
Reply

#3
(02-21-2017, 09:10 AM)InsiteFX Wrote: Modules in CodeIgniter 4

I am using this but returned :
404 - File Not Found
Reply

#4
After about 8 hours of debugging I found the issue, the name space should be defined like this:

 namespace Modules\Blog\Controllers;
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Users browsing this thread:
1 Guest(s)


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2017 MyBB Group.