Tue 18 Feb 2020
I've been working on a project for nearly a year now in my spare time. It has been running ZF3 as a base. Super stable. I've worked for quite some time with Zendframework and I learned recently that they are moving to Laminas.
Big people like Matthew and Michał support the framework and chipping in by contributing and supporting a lot of developers migrating. They have made a handy tool to migrate existing Zend project with such ease to the new code-base. I decided to give it a crack after seeing the support on the migration tool.
I figured that the sooner I migrate the better. The install went exactly like the instructions on the migration page. I used
-e data as an extra parameter to ignore the common ZF data folder. I immediately ran into an issue I couldn't place.
Problem 1 - laminas/laminas-dependency-plugin 1.0.3 requires composer-plugin-api ^1.1 -> no matching package found. - laminas/laminas-dependency-plugin 1.0.2 requires composer-plugin-api ^1.1 -> no matching package found. - laminas/laminas-dependency-plugin 1.0.1 requires composer-plugin-api ^1.1 -> no matching package found. - laminas/laminas-dependency-plugin 1.0.0 requires composer-plugin-api ^1.1 -> no matching package found. - Installation request for laminas/laminas-dependency-plugin ^1.0 -> satisfiable by laminas/laminas-dependency-plugin[1.0.0, 1.0.1, 1.0.2, 1.0.3].
I searched for the issue and saw outdated issues reported on Github on the composer/composer repo. That gave me the idea that my globally installed composer was heavily outdated. Updated it and the migration went smooth after that. It took me about 10 minutes to figure that one out and the migration as a whole took me about 30 minutes. That is amazing considering the scale of a project like Zendframework to an equally sized Laminas. It's like magic haha :)
In the end it was my own fault for running an outdated, globally installed composer binary. The migration tool worked like a charm and made migration effortless. Now I'm running Laminas and everything is running peachy! Goodbye Zendframework (tears), hello Laminas (smile)!