Comments (3)
I know rector and use it regularly on my projects, it is a very good tool for refactoring!
I have read somewhere that there will be a migration tool from Zend to Laminas, I am curious, what tool would you use, or write a new one?
Imho using something that already exists might save you a lot of time 😉
from laminas-zendframework-bridge.
@TomasVotruba and @JanMikes —
I'm sorry I didn't see and respond to this earlier. When we pushed the package, we were in the early stages of development.
There is more going on than what you describe, however.
The Laminas packages will act as replacements for the ZF packages. We do not expect there to be a mix of Laminas and ZF packages in a project. However, if there are, we need to do a few things:
-
If a reference is made to a ZF class (such as typehinting on an interface), but the replacement Laminas package is installed, inheritance must still work. As such, the autoloading in this package also creates
class_alias
statements from the ZF artifacts to the Laminas implementations when they are found, to ensure that inheritance and hinting continues to work. -
Additionally, with dependency configuration,
::class
annotation does not trigger autoloading. As such, this package now also provides configuration post-processing in order to rewrite such references to their Laminas equivalents. (It also identifies known ZF configuration keys and rewrites those.)
And that's just what this tool does. The tool for rewriting repositories does far more, as does the tool for migrating userland code to the new packages.
Rector might have helped, but there's a lot of small edge cases that we were able to identify and handle that we may not have been able to shoe-horn into another tool. That said, if I'd seen this earlier, we might have investigated Rector more closely earlier on.
from laminas-zendframework-bridge.
No troubles :) Thanks for reaching out 👍
from laminas-zendframework-bridge.
Related Issues (20)
- Dependency Dashboard
- Performance Issue with 1.6.0 HOT 17
- Unable to use with PHP 7.4 preload HOT 2
- `ConfigPostProcessor` replaces dependency service and therefore removes factory mapping HOT 3
- Tool should not rename classes using "Zend" or "ZF" in them
- Append rewrite delegator classes
- Abstract factories and lazy services "class_map" are not replaced with 1.0.2
- The bridge does not seem to work in all cases HOT 6
- Developer tools do not work for BjyAuthorize anymore
- Getting "failed to open stream: No such file or directory in /autoload.php on line 5" when loading package HOT 1
- Development mode response times have increased 10x after migration. HOT 4
- Psalm integration
- README does not mention which ZF versions are supported
- `ConfigPostProcessor::replaceDependencyAliases` does not prevent infinite loop
- Bridge does not work with zend i18 HOT 3
- Unaccaptable performance hit HOT 19
- ClassLoader type HOT 9
- Incompatibility with composer 2.2.0RC1 HOT 10
- "ZendForm" getting replaced in 3rd party module HOT 3
- Mark component feature-complete
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laminas-zendframework-bridge.