Answer the question
In order to leave comments, you need to log in
Is it possible to gradually migrate a self-written php engine to a popular web framework?
There is an existing php project with a bunch of bikes. Are there any approaches, techniques for gradually transferring this code base to one of the popular frameworks, adding functionality so that it would be easier to transfer them to the framework?
Answer the question
In order to leave comments, you need to log in
In my opinion, "transferring" a site to a new CMS/framework is better than writing it from scratch. Thus, you will reduce the possible errors in the logic, and speed up the process.
At the same time, if you don’t need a new database, but you need to use the old one, then you should think about it in advance. Here you can use an existing database structure, or make sure that the data from the old database is transferred to the new database structure.
Yes, everything is possible. Most companies that started in 2012 and survived until 2018 are doing this - they are transferring their projects to "modern" architecture.
The timing depends on the size of the code base and allocated resources, as well as the adequacy of the developers of the "bicycles" (some "bicycles" are really well designed).
I'm sure there is a lot of information on this topic on Habré. I wrote about my experience.
You need to start with the general architecture of the application, banalities like one index.php entry point, autoloader, composer. Next, you need to decide on the structure of the application (understanding in which folder we add certain files). Then the introduction of a DI container (if suddenly not), wrapping the call of the new / old code with some kind of proxy (which decides whether we call the old code or there is already an implementation on the new code).
I would immediately switch to a standard logger. Then it all depends on what you do not like in the current application. What hurts - then govern first.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question