CodeIgniter Hosting: Compare Hosting
Oops! No Hosting Plans Match Your Search
You've selected a combination of features that none of the web hosts we profile offer. We suggest you remove your last filter or reset & start again.
Ask Our Experts
Need help with your hosting? Tell us exactly what you are looking for and we’ll do our very best to help. Please allow one working day for a response.
Please fill in all fields.
Thanks! Your request has been sent. We'll reply within 24 hours.
Recommended Host for CodeIgniter
What is CodeIgniter Hosting?
CodeIgniter is a web application framework for PHP Hypertext Preprocessor (PHP) coders. It allows Web developers to advance projects more quickly than they could if writing code from scratch. As open source software, CodeIgniter is affordable, adaptable, and accessible.
CodeIgniter is a PHP web development application framework built on the Model-View-Controller (MVC) paradigm.
A web application development framework is a tool for creating dynamic websites, web-based applications, and web services, which provides a structure to the overall application and modules or libraries for doing common development tasks.
Libraries and modules eliminate the need for a developer to solve a problem that other developers have already solved — basic functions and features like user login, session management, database access, and form validation. There's no need to reinvent the wheel, and a good application framework provides these functions so that a developer can focus on the important task of creating new and valuable features.
CodeIgniter also provides a structure to a web application, by suggesting a general template for how to organize code and directories, and by making some key architectural decisions about how various components interact with each other.
One important thing that CodeIgniter provides is a Model-View-Controller (MVC) outline for application structure. Model-View-Controller is considered by many to be a “Best Practice” in application development and is a key feature of the CodeIgniter framework. MVC is, essentially, a way of organizing the components of an application in a way that separates the underlying data (the Model), the application or business logic (the Controller), and the final presentation to the screen or public API (the View).
The easiest way to understand how MVC works is to think about what might happen in CodeIgniter-based web application between a user clicking on a link and that same user seeing the content on the page a moment later.
The browser sends a request to the web server, which routes it to a set of scripts called the Controller. The Controller sends a request to the Model scripts, where details about data structure and database access are written. The Model includes code that fetches content from the database and then turns that content back over to the Controller. The Controller then sends that content to the View, which includes HTML template information. The View pushes the rendered page out to the user through the web server.
This is a somewhat simplified explanation, and omits important details like page caching (which is handled by the View, and which speeds up overall performance), application functionality like processing credit cards (handled indirectly by the Controller), and updating the database (done by the Model).
Following this general separation of concerns helps to ensure a high level of code organization and guides good decision making about how to implement novel features when building a new web application. CodeIgniter provides Model, View, and Controller scripts, as well as the libraries and application infrastructure that allow these components to interact in a meaningful way.
Important CodeIgniter Features
CodeIgniter provides only the scripts needed and nothing else. Most functionality comes in the form a series of plugins and interoperable libraries, so you don't end up with code for a lot of features you aren't actually using.
Database classes with support for multiple platforms
Classes for interacting with the database provide a layer of abstraction, freeing you from having to write boilerplate SQL queries, and allowing you to change database software without rewriting your application. Several popular databases are supported, including MySQL, SQLite, and PostgreSQL.
The philosophy of CodeIgniter is to make PHP development easier, not harder. To that end, the framework provides a lot of flexibility and does not force you to develop in a certain way. For example, while the MVC model described above is fully supported, the framework still functions in the absence of Models, which is perfect if you are not building a database driven application.
Speed and Performance
CodeIgniter is serious about speed, and has made a number of key decision to ensure the fastest possible rendering of pages. One example of this is the automatic caching of rendered pages, which allows frequently-accessed pages to be displayed without the full fetch-and-render process.
Another example is the lack of a specialized template language for creating HTML/PHP Views. While a template markup system requires a little less typing and appears a little cleaner in source code, it is a huge hit in performance because the file essentially has to be rendered twice (once from Template markup in to PHP, and then a second time into HTML).
Hosts that support PHP should generally support CodeIgniter. There are occasional issues with environment configuration for certain modules, such as email classes having access to a mail server. Before launching a new project with CodeIgniter, you should make sure the specific modules and features you need are supported by your web host. Additionally, check to make sure that your host supports the version of PHP needed to run CodeIgniter and any required libraries.