CodeIgniter PHP App

CodeIgniter

by Codeigniter

PHP development framework
Helps with: PHP,Toolkits and HTTP
Similar to: ThinkPHP App Yii 2.0 App Flow App Silex App More...
Source Type: Open
License Types:
MIT
Supported OS:
Languages: Other

What is it all about?

CodeIgniter is a PHP framework for building web sites and applications development. supplying a collection of libraries for common necessary operations. suplly a convenient interface and logical structure for easy access to the libraries.

Key Features

* Framework with a small footprint - CodeIgniter 3 has a 2MB download, including the user guide. * Clear documentation - The CodeIgniter User Guide comes with the download. It contains an introduction, tutorial, a number of "how to" guides, and then reference documentation for the components that make up the framework. * Compatibility with standard hosting - CodeIgniter 3 only needs PHP 5.2.4, and plays nicely with almost all shared or dedicated hosting platforms. Many webapps need a database, and CodeIgniter supports the most common, including MySQL. * No restrictive coding rules - Use your own coding and naming conventions, with only a few caveats that deal with classname conflicts. CodeIgniter looks to empower you, not shackle you. * Simple solutions over complexity - CodeIgniter encourages MVC, but does not force it on you. * Exceptional performance - CodeIgniter consistently outperforms most of its competitors. * No large-scale monolithic libraries - CodeIgniter is not trying to be all things to all people. It is a lean MVC framework, with enough capabilities to improve your productivity, while providing for third-party addons/plugins for additional functionality. * Nearly zero configuration - Much of the CodeIgniter configuration is done by convention, for instance putting models in a "models" folder. There are still a number of configuration options available, through scripts in the "config" folder. * No need for template language - CodeIgniter comes with a simple, substitution based, templating tool. Addons/plugins are available for most of the full-blown templating engines, if that is what you are used to. * Spend more time away from the computer - Don't we all want it? CodeIgniter is easy to learn and to get proficient with.


Pricing

Yearly
Monthly
Lifetime
Free
Freemium
Trial With Card
Trial No Card
By Quote

Description

free - see site

Product Analysis

PHP

PHP frameworks and libraries

CodeIgniter review

CodeIgniter review

By Victor Carlo Jacaban III | 5/31/2016 | Product Analysis |Beginners

CodeIgniter is a popular PHP framework that is based on the MVC (Model-View-Controller) development pattern.  It is very light as far as download size is concerned so performance wise, it is faster than many other PHP frameworks. CodeIgniter helps developers do large or common tasks easily. With this framework, you can apply form validation, CRUD (Create-Retrieve-Update-Delete), database configurations and more. Unlike other frameworks, you don’t need to have a lot of experience or a thorough skill–set in PHP just to learn this technology. You just need to know the basics of PHP coding with an OOP (Object Oriented Programming) approach.

 

Here are a few reason why CodeIgniter may be advantageous over other frameworks when building web applications.

 

Easy to Learn – CodeIgniter provides a set of libraries for commonly needed task in web development. It also provides concrete ideas on how MVC really works and how to implement an application with an MVC architectural pattern.

 

Easy Configuration – One of the most difficult parts in learning new technology is configuration. In procedural coding, configuration involves a lot of files from scratch like Dbclass, config, and database files to get the process started. This is where frameworks comes into play. While many frameworks offers easy configuration, CodeIgniter works with almost zero configuration.  You just have to download the file, edit the database configuration (config.php and database.php files) and you’re ready to go. With CodeIgniter's well organized folder structure and easily understandable classes, you'll be off and running with your application in no time at all.

 

Example

Under application/config/database.php

 

$db['default']['hostname'] = "localhost";

$db['default']['username'] = "root";

$db['default']['password'] = "";

$db['default']['database'] = "database_name";

$db['default']['dbdriver'] = "mysql";

$db['default']['dbprefix'] = "";

$db['default']['pconnect'] = TRUE;

$db['default']['db_debug'] = FALSE;

$db['default']['cache_on'] = FALSE;

$db['default']['cachedir'] = "";

$db['default']['char_set'] = "utf8";

$db['default']['dbcollat'] = "utf8_general_ci";

$db['default']['swap_pre'] = "";

$db['default']['autoinit'] = TRUE;

$db['default']['stricton'] = FALSE;

 

This is where you store database connection values like hostname, username, password, database name, some cache settings, etc.

 

Easy Template Application – CodeIgniter uses a template system that separates PHP and HTML files to make your application files looks cleaner.

 

Have Built-in Helpers and Libraries – One of CodeIgniter’s advantages and one of the reasons why so many developers chose to use it is its built-in helpers and libraries. This not only cuts down on the effort needed but also saves a lot of your time—especially when building website from scratch. It also provides many how-to guides and sample code about the helpers and libraries included in the download.

 

Example

 

Add this file under \application\config\autoload.php

$autoload['helper'] = array('my_helper');

 

This enables the use of a helper.

 

You can load helpers on your controller/ model or even view by

$this->load->helper('my_helper');.

 

Database Support/Server Requirements – Obviously, building applications requires a database. CodeIgniter supports most of today's popular databases used in web development thus enabling the developer to meet various client’s specific requests. The databases that CodeIgniter supports are PostgreSQL, MySql, Cubrid, ODBC, MS SQL, Firebird, SQLite, and Oracle. It also works with different versions of PHP (depending on the version of CodeIgniter is being used).

 

Cache system – CodeIgniter also has a cache feature. As we all know cache helps web application in terms of serving requests faster. Simply put, it will reduce load on the web server and database making pages render faster.

 

Example

 

Controller

 

class Cache_controller extends CI_Controller {
             
      public function index()
      {
         $this->output->cache(5);
         $this->load->view('index');
      }
                              
      public function cache_delete()
      {
         $this->output->delete_cache('cachecontroller');
      }
}

 

View(index.php)

 

<!DOCTYPE html>
<html lang = "en">
   <head>
      <meta charset = "utf-8">
   </head>              
   <body>
      <div class=”container”>Hello World!</div>
   </body>             
</html>

 

Routes (Routes.php)

 

$route['cachecontroller'] = 'Cache_controller';

$route['cachecontroller/delete'] = 'Cache_controller/cache_delete';

 

In the example above, the number 5 in the line $this->output->cache(5) refers to how often the page will be cached in minutes. We will target the index file of the page that we want our cache function to execute on. By the help of the routes that we customized, assuming our application was named mySite.com, when you visit mySite.com/index.php /cachecontroller a cache file will be created on cache folder (application/cache). If you want to remove cache, just visit mySite.com/index.php /delete.

 

Support – Like other popular PHP frameworks such as Laravel, CakePHP, Symfony etc, CodeIgniter is one of the frameworks that has an active community. Questions will usually be addressed in just a matter of minutes. There are also many forums and even a wiki that can be found on its website whenever you are looking for answers or stuck on something.

 

Documentation – One way to learn a new technology is via its documentation and by working through detailed code snippet. CodeIgniter has been very good about providing understandable information about the framework. It provides step by step tutorials and detailed information ranging from easy to more complicated aspects of building web applications. CodeIgniter is not just a community but also backed by a company called EllisLab whose main goal is to take the framework to the next level of web application development.    

 

Security – Security is one of the biggest concerns in web development and is the crucial component in how reliable and secured your web application is. One of the biggest threats in web development is an Sql Injection. Sql injections are very common on the web especially in today's environment where most transactions are done online. Its main target is to get or exploit secured data from a database by posting data on the front end side of a web application. CodeIgniter offers a secured way to protect data. Through its Security Filtering feature, data is automatically filtered when a new controller is invoked. It can pre-processes input data and also provides helper functions for fetching input data and pre-processing it.  CodeIgniter also has an XSS filtering system that will automatically prevent cross-site scripting attacks.

 

Example -

 

 $this->input->post(‘data’);

 

  • Will return false automatically if the data you want to retrieve does not exist.

 

$this->input->post(‘data’, TRUE)

  

  • By adding the value TRUE as the second parameter, it means you want to run the XSS filter feature of CodeIgniter

 

Conclusion

 

When building an application we have to consider what technology to use and study its ins and outs so that in the future, we will not be surprised when something goes wrong during implementation. CodeIgniter may not be as big or as costly as other web application technologies but it offers high end functionalities enabling web developers to produce high quality and world class applications with minimum effort.

By Victor Carlo Jacaban III | 5/31/2016 | Product Analysis

{{CommentsModel.TotalCount}} Comments

Your Comment

{{CommentsModel.Message}}

Top DiscoverSDK Experts

User photo
3355
Ashton Torrence
Web and Windows developer
GUI | Web and 11 more
View Profile
User photo
1490
Ronan McCarthy
Cross-Platform & Web developer.
Web | Mobile and 6 more
View Profile
User photo
1230
Gary Green
Expert programmer, Ask what you want
Web | JavaScript and 3 more
View Profile
User photo
1130
Harry Gold
Experienced Web developer.
Web | JavaScript and 3 more
View Profile
Show All

Interested in becoming a DiscoverSDK Expert? Learn more

X

Compare Products

Select up to three two products to compare by clicking on the compare icon () of each product.

{{compareToolModel.Error}}

Now comparing:

{{product.ProductName | createSubstring:25}} X
Compare Now