Much of this book's material can be found just as easily and for free in the documentation that comes with CodeIgniter. Some of the material in the second half of the book was useful to me, though it was offset to a large extent by some iffy material, including what to me appeared to be some rather poor implementation of OOP concepts. This book may be useful to intermediate PHP developers who are brand new to CodeIgniter, but I cannot recommend it to anyone with more experience with both.
- 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 - for more advance implementation you can check Philip Sturgeon aproach
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 :
- 2 step views something like http://avnetlabs.com/php/two-step-vie... - 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
I completely reprogrammed my website using the CodeIgniter framework, and this book helped me both to choose the framework (over Zend) and get started with it.