Reputation: 381
I have inherited a large web application built using Zend Framework 1. Obviously, this is antiquated, and no longer supported. It requires PHP 5, so I can't use any modern plugins/tools. It needs to be rebuilt and modernized. The dilemma is that I'm the only developer contracted to the company. They don't want to farm anything out, so I have to be able to maintain and build on the existing application while also doing all of the redesign work. I'm trying to figure out the best way to go about it.
On the front-end, it's a lot of forms with basic CRUD functionality. HTML and jQuery.
The DB is MySQL. It's fairly data intensive app, with a large amount of complex historical data.
The business logic is around 250,000 line of PHP code. It heavily uses ZF1, Zend DB, etc, so all of this code pretty much has to be re-written.
What's the best approach to move forward? I have a couple of ideas that I'm currently considering...
Rebuild the project using Laravel - this seems to be the current most popular PHP web app framework. This would be difficult to rebuild everything while also continuing to modify and enhance the current ZF1 app. Also, I hate to tie everything into another framework that may eventually be obsolete, and/or require another rewrite.
Convert the existing code to framework agnostic PHP web services - This would let me move the current code outside of the existing application. It wouldn't be dependent on any particular framework, so I wouldn't have to worry about a complete rewrite down the road. The existing ZF1 app could call the web services for CRUD operations. When everything is moved out, I could then use something like Laravel for the front-end and just tie it into the new web services.
I'm interested to hear other thoughts on this from people who have done similar projects.
Upvotes: 1
Views: 160
Reputation: 19
I know it's a late answer, but I was in a similar situation and found the ZF1-Future project very helpful. It "runs on any version of PHP between 7.1 and 8.1." You still need to update the application code, but that might be easier than rewriting everything.
Upvotes: 0