Chapter 1. Getting Started with CodeIgniter
- overview of the CI framework , the fact that it runs on Php4 & Php5 , is MVC , use Singleton & Active Record as design patterns
- install & easy upgrade to newer versions of CI
- very detailed MVC pattern presentation
- auto loading resources ,code format & naming convensions
- URLs in CI
To remember :
- All Controller & Model class names should start with an uppercase letter, and the rest of the name should be lowercase
- _remap() — this will be called every time that the controller is called, even if a different function is used
- assign new name for the controller :
$this->load->model('model_name', 'different_name');
Now you would call your model functions as follows:
$this->different_name->function_name();
Chapter 2.Learning the Libraries
- overview of the benchmark & Profiler classes , if you have sites with lot of track to see where you can optimize
- how to use Input and Security class
- basic usage of the Email class and afterwards builds a contact form example using all 3 libraries
- example of upload file using the Uploading class & Image Manipulation class
- overview of Pagination & Session class
To remember :
- {elapsed_time} can be put in view so you can see the total time elapsed.
- {memory_usage} can be put in view so you ca see memory consumption
- is_image property in the Upload class object to check images agains XSS attacks
- retrieve both POST/GET data use $this->input->get_post('some_field', TRUE);
- if you want to keep the flash data use $this->session->keep_flashdata('item');
Chapter 3.Form Validation and database Interaction
- overview of the Form Validation library & the fact that you can save the validation rules in a config file
- create custom validation rules with callback functions
- Database interaction from simple query to advanced Active Record and also Active record caching
- Forge class for working with database and table manipulation
Chapter 4.User Authentication 1
- create a login/register application from scratch
Chapter 5.User Authentication 2
- first it implements a twitter login using the Twitter OAuth
( consumer secret and cunsumer key are not kept in config file or constants )
- on the second part uses Facebook connect but he he should have guide the developer how to configure the app on Facebook develop app settings and to set xd_receiver.htm not to be redirect on rewrite
Chapter 6.Application Security
- great chapter regarding the CI security
Security on - URI and suggest having $config['global_xss_filtering'] = TRUE; all the time
- strong password policies and give us some password check for not having obvious validation functions using the Form Validation class
- advanced password salt that is kept in a CI plugin
- database security (xss & sql injection)
- changing the default file structure
Chapter 7.Building a Large-Scale Application
- this chapter is presenting all the bottleneck of a web app , from database , server or code and possible fixes.
- CI. cache and query caching
- mem cache example & the advantage of using multiple instances of the server
Capter 8.Web Services
- overview of the popular web services and the support for XML-RPC
- writing a REST server & also the client on the same installation of CI that CRUD blog posts
Capter 9.Extending CodeIgniter
- cover hooks in detail and create a practical example of a site that is being maintained by setting a config variable
- extend the controller class to create a custom admin controller which can also extend on a administration part
- override the CI Session class to use php native sessions
- write a logged user helper and overview the less known helpers
Capter 10. Developing and Releasing Code to the Community
- share some ideas and guidelines in case you want to share some code that the community can use and useful tips of how you can get notoriety
What I would have like to have :
- could have mention about Apache Jmeter for testing on a Large-Scale Application
- Backendpro & Modular Extensions - HMVC
- Facebook updated their API , Facebook Graph API but the old API still working
Mark 8/10