Migration between PHP engines
Often there is a situation when the owner decides to change the PHP engine on which his site is implemented.
The reasons may be different: cessation of maintenance of the old engine by developers, moral obsolescence (outdated code, inability to start or errors on the new version of PHP), lack of important functions for the user.
I will help you transfer your website from the current PHP engine (no matter what, it may not even be PHP) to one of the current engines that use PHP for their work.
You choose which PHP engine your site will work on. This can be a CMS or Framework. So, at the moment I have experience with the following PHP engines:
– CMS family LDU, Seditio, Cotonti;
– Popular CMS Wordpress, Joomla, Drupal;
– Yii2 Framework;
– Laravel Framework;
– Symfony Framework.
It doesn't matter to me what you choose. It may even be another PHP engine, I will examine it and complete the migration.
The main principles are the following:
– maximum preservation of the current functionality of your site;
– maximum data confidentiality: under no circumstances will you pass me sensitive information (including user logins and passwords/hashes);
– all current user details (including passwords) should work in the new version of the site, even if your chosen PHP engine uses a different logic of hashes and authorization algorithms.
There are some features of migration between CMS and Framework. So, when migrating to a CMS, as a rule, it is necessary to modify the structure of the database tables (MySQL), while working with the Framework, such a modification is either not required or it is minimal. This means that when applying the Framework, the situation is possible, the years are at the same time both the old and the new versions of the site work, which is convenient during gradual migration.
In general, the migration procedure is a rather painstaking work that requires high concentration from both the contractor and the customer. An important aspect here is the preparatory work, which consists in revising and detailing the current functionality of the site.