Components are packages of logic that are shared between controllers. They are useful when a common logic or code is required between different controllers.
* Access control lists
* Request handling
it has been for years in the market with strong support in the form of communities and online documentation, it supports php 4/5
The learning curve, and it loads full application before it starts your task. Its not recommended for small projects because of its resource heavy structure.
Table names are plural and lowercased,model names are singular and CamelCased: ModelName, model filenames are singular and underscored: model_name.php, controller names are plural and CamelCased with *Controller* appended: ControllerNamesController, controller filenames are plural and underscored with *controller* appended: controller_names_controller.php,