CodeIgniter is a MVC framework written in, and for, PHP.
It is lightweight compared to other MVC frameworks out there, at the cost of having less functionality, e.g. there is no built in authentication system which might be a part of other frameworks.
CodeIgniter is a good choice of frameworks for those who are starting out with MVC as it doesn't force any particular standards for naming and structure of code; but it is also suitable for larger projects where a large range of features contained in other frameworks might not be needed.
In CodeIgniter 3 you have to include the parameter:
$config['newline'] = "\r\n";
It just won't work without it.
If you don't care about new lines and you're using CodeIgniter 2 then this config parameter is optional.
The Codeigniter Sessions class uses browser cookies to save data that will persist across multiple page loads.
Reference: https://codeigniter.com/user_guide/libraries/sessions.html
It is not necessary that you have to use the same names for the (Controller,File,Class,ID) or whatever it might be. All the things what I have used is for the understanding purpose of the coding flow and my assumptions. It is up to the developer who takes the code and edits the code/name according to their wish and then host the code and succeed.