How to migrate CakePHP 1.x to 2.xKeyword: CakePHP development, CakePHP 2.0, CakePHP migrationWe will focus on what we need to do to get CakePHP 1.3 application upgraded to CakePHP 2.2.3CakePHP 2.2.3 is the latest stable version now.Installation • This is pretty straight forward, same as CakePHP 1.3 version. • Download and unzip the CalePHP 2.2.3 and follow the instructions.Configuration • core.php • Make sure to copy the security.salt and Security.cipher_seed from your old core.php • Take notice of how errors, sessions and caching have changed. • database.php • There is a minor change on this file, • CakePHP 1.3: driver => mysqli • CakePHP 2.2.3: datasource => Database/Mysql • routes.php • Dont overwrite this file with your older one. • You can place your custom routes before or after CakePlugin::routes() • bootstrap.php • Copy all functions, constants and other code from your old bootstrap into the new one.Folder Structure • The cake folder is now inside lib folder. There is nothing to do with this. • Files and folders are now CamelCased instead of lower_underscored • Example: The “users” folder inside the View becomes “Users” • The controller files are now UsersController.php instead of users_controller.php • project_user_controller.php becomes “ProjectUsersController.php” • The model files are now User.php instead of user.php • project_user.php model becomes “ProjectUser.php” • The components files are now FormatComponent.php instead of format.php • The helpers files are now DatetimeHelper.php instead of datetime.phpMoved APP files • The parent app_classes have been moved and renamed as well. • Instead of app_controller.php, app_model.php, and app_helper.php now become Controller/AppController.php, Model/AppModel.php, and View/Helper/AppHelper.php.Auth Component and Login • Auth now supports multiple authorization adapters that can all be used together • Cake 1.3.x was automatically checking if user has correctly entered username/password inside your login() method of users_controller but in cake 2.x we need to manually call $this->Auth->login() this returns boolean value based on successful login or failure.