CodeIgniter Forums
controller calling controller - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: CodeIgniter 4 (https://forum.codeigniter.com/forum-28.html)
+--- Forum: CodeIgniter 4 Discussion (https://forum.codeigniter.com/forum-31.html)
+--- Thread: controller calling controller (/thread-65621.html)



controller calling controller - jaynarayan - 07-02-2016

Calling controller from another controller causes problem some times in ci3 because of its singleton architecture. Is it safe in ci4?  Which  design patterns now ci4 use instead of singleton?


RE: controller calling controller - kilishan - 07-02-2016

It is safe, though a little bit of a pain due to the classes that are injected in the controller's constructor, but you could do something like:

Code:
$otherController = new App\Controllers\OtherController($this->request, $this->response, $this->logger);

$otherController->doSomething();

However, I don't think it's required. See this blog post for ways to handle "modules" (yes, there will be a write-up in the user guide soon). With the new autoloader you can easily use any class it can find, so you can split the logic into as many libraries, entities, repositories, whatever you want, and access it that way.