CodeIgniter is designed to deliver maximum performance in less time within a clean environment. To achieve this, each developing process is designed in a simplified way.
From technical point of view it is dynamically instantiation (libraries are loaded on request which makes it light-weighted), loose coupling. (components rely very less on each other) and component singularity (each class and its functions are narrowly focused only towards their purpose).
Data flow in CodeIgniter
Look at the above snapshot, this flow chart displays data flow in CodeIgniter.
- File index.php is the default file of CodeIgniter. It initializes the base resources.
- The Router decides what should be done with the information.
- If requested cache file exists, then the information is passed directly to the browser ignoring the further processes.
- Before loading Application Controller, the HTTP request and submitted data is passed under Security check.
- The Application Controller loads Models, Libraries, Helpers, Plugins and Scripts needed according to the request.
- The final page will come to View and then sent to the web browser. If View page is not cached then it will be cached first for future requests.