Each CI project must have one or more user-defined controllers in order to operate. The user-defined controllers are the starting point of any CI user interaction. Calling the controller and its methods can be done in several ways. The controller can be called via project root URI submission to a browser (the project default controller will be called), by issuing the user anchor from a rendered view, by a client-side AJAX request for actions (updating page selectors), or even by a crontab
(Linux known scheduler service) scheduled action executed repeatedly as a URI of a certain controller method.
We can see that the controller scope is a general manager of all the other project resources, such as models, views, helpers, and libraries, governing all to address execution requests from the user or a scheduled request.
Any application controller will be located under application/controller/
in the project
directory.
The controller can load other CI project code resources...