CodeIgniter Intro, Tutorials, and Resources

Code Igniter is a popular application development framework for PHP. It is lightweight and easy-to-learn.

The general trend with application development frameworks is to add more features over time. The CodeIgniter development team, on the other hand, has chosen to keep the framework as simple as possible. There is a strong preference for convention over configuration; that is, there is typically one standard way of doing most things, and you don't need to spend a lot of time and development energy making configuration and set up decisions.

The framework provides a small number of core features. Because of that minimalism, the code base is relatively small (less than 2MB, including documentation.

There are pros and cons to this approach, of course. For an experienced PHP developer, the framework is easy to learn. It doesn't do too much for you, so if you already know what you are doing, it gets out of your way and let's you develop.

For inexperienced developers who might want a framework to do a lot of things "automagically," Code Igniter might seem much too minimal.

About CodeIgniter Versions

As of this writing, there have been three major numbered versions of the CodeIgniter framework. The current version is CodeIgniter 3, but you can find lots of applications that are running on each of the earlier two major versions. Version 2 is especially popular, and a large proportion of existing CodeIgniter deploys are this version.

CodeIgniter follows semantic versioning principles, so version 3 is not backwards compatible with applications written in version 2. Upgrading an existing application is possible, but is fairly complicated.

If you are working on an existing application, you might have to learn version 2. However, if you are starting a new project, you really should use use the current version. This will allow you to take advantage of a number of enhancements and security fixes, including:

Tutorials

The tutorials and other resources listed here cover CodeIgniter 2 or 3. Be sure that the tutorial you use matches the version of the project you are working on.

Version 2

Version 3

Reference

Tools

CodeIgniter is a minimalistic framework, so a lot of functionality that might be built-in to other frameworks is available as a plugin or separate module. There are a lot of these, ranging from tiny utilities, to high-level application builders. Here are a few of the most interesting large-scale CodeIgniter add-ons:

  • Bonfire is an automated admin and profile management plugin for CodeIgniter.
  • Fuel CMS is an open source content management system built on top of CodeIgniter.
  • Ignition-Go is a modular app-building framework built with CodeIgniter and Twitter Bootstrap.

The best place to find more is Awesome CodeIngiter, a curated list of the best and most useful CodeIgniter tools.

Community

CodeIgniter is an open source project with an active developer community.

Books about CodeIgniter

These books cover the current version of Code Igniter.

  • Practical CodeIgniter 3 (2016), by Lonnie Ezell, is an all-in-one guide to take you from knowing nothing about CodeIgniter to building complex web apps with CodeIgniter and modern development tools like Composer.
  • CodeIgniter Testing Guide (2016), by Suzuki and Whitney, is a book on using PHPUnit to do automated testing in CodeIgniter.

Earlier Versions of CodeIgniter

The following books are the best available for earlier versions of the framework.

Should I Learn CodeIgniter?

CodeIgniter is one of the most popular PHP frameworks, consistently ranking among the top 5 preferred frameworks by PHP developers. It scores well for both "at work" and "personal projects," meaning that its a highly employable skill, and you'll likely enjoy using it.

Learning how to build applications in CodeIgniter — especially if you have only been writing PHP apps from scratch or with a CMS like WordPress — will greatly increase your range of possibilities.


Further Reading and Resources

We have more guides, tutorials, and infographics related to coding and development:

What Code Should You Learn?

Confused about what programming language you should learn to code in? Check out our infographic, What Code Should You Learn? It not only discusses different aspects of the languages, it answers important questions such as, "How much money will I make programming PHP for a living?"