In September 2024, during the Dot All conference in Lisbon, Pixel & Tonic announced that Craft CMS 6 would abandon Yii 2 in favor of Laravel. This decision, far from being capricious, represents a pragmatic response to the reality of the PHP ecosystem: when a framework loses traction, taking the CMS down with it is not a viable option.
Context: The architectural decision
Craft CMS was born on Yii 1 in 2013. The migration to Yii 2 with Craft 3 was, in the words of CEO Brandon Kelly, a painful process that lasted "several years too long." That complete refactoring forced a rewrite of all plugins, lacked new features for content editors, and left a deep mark on the community.
More than a decade later, the problem isn't technical: Yii 2 remains a robust and well-designed framework. The problem is structural. As one developer notes in the Reddit discussion: "I don't think Laravel is significantly better than Yii as a framework, but the ecosystem gap is too great, seriously affecting the development experience."
The signals are evident: shrinking community, reduced third-party package development, growing difficulty hiring developers with Yii experience, and Yii 3 on the horizon but without the necessary momentum. Craft needed a framework with a living ecosystem. Laravel, by far the most popular PHP framework in 2024, was the obvious choice.
Architecture comparison
Both frameworks share similar philosophies (MVC, reusable components, dependency injection), but differ radically in adoption. Yii 2 has a solid base and mature components, but a stagnant ecosystem and reduced talent pool. Laravel, on the other hand, boasts a massive ecosystem (Forge, Vapor, Nova, Livewire), an active and growing community, optimized developer experience (Artisan, Eloquent, Blade), and a broad talent pool.
The critical difference isn't in technical capabilities, but in developer experience and tool availability. A developer familiar with Laravel can be productive in Craft 6 from day one.
Statamic and Sulu: Alternative paths
Statamic deserves special analysis because it did in 2012 what Craft is doing now: betting on the dominant framework. Built on Laravel from the start, Statamic offers an interesting counterpoint with its flat-file architecture, Git-friendly content versioning, and complete integration with the Laravel ecosystem.
As one user who migrated from Craft to Statamic in 2022 notes: "It has a gorgeous UI and customers love the ease of content editing with it. Where I hated it was the developer experience. So much cruft to get basic testing running compared to how easy Laravel makes this."
Sulu CMS represents the path not taken. Built on Symfony, another enterprise PHP framework, Sulu demonstrates there's life outside Laravel. It's relevant because it illustrates that Yii's problem isn't technical, but ecosystem-related. Symfony has an active community, maintained packages, and companies adopting it. Yii doesn't.
What actually changes?
Craft's architecture remains surprisingly stable. Pixel & Tonic emphasizes that Craft 6 is "(mostly) a strict port to Laravel." There won't be a massive refactoring like in Craft 3. Core concepts (Elements, Fields, Sections, Matrix) remain intact.
What changes: routing moves from Yii CMF to Laravel routing, ORM from Active Record to Eloquent, Service Container from Yii DI to Laravel Container. Importantly, Twig templating is maintained—an advantage for the existing community.
Production implications: The Yii 2 adapter
The lesson learned from Craft 3 is clear: don't force a traumatic migration. The solution: a Yii 2 adapter package that acts as a bridge between legacy code and Laravel.
// Craft 5 plugin uses Yii
use yii\base\Component;
// In Craft 6, the adapter translates Yii calls to Laravel
// Most plugins will work without changesThis approach allows plugin developers to migrate incrementally. At the Dot All workshop, Pixel & Tonic demonstrated Craft 5 plugins running on Craft 6 by simply adding the adapter to composer.json.
Timeline and support guarantees
The calendar is deliberately generous: beta in Q3 2026, stable release in Q4 2026. But the critical decision is this: Craft 5 will be LTS with official support until 2031. Five years post-Craft 6 for security updates, maintained plugin compatibility, and time to plan migrations without pressure.
For production projects, this eliminates panic. A Craft 5 site launched in 2024 can operate peacefully until the end of the decade without touching a line of code. The window is wide enough to evaluate, test, and migrate when it makes sense for the project, not when the vendor demands it.
PHP CMS ecosystem analysis
Consolidation around Laravel doesn't come from nowhere. The numbers are overwhelming: Laravel dominates with 75k+ GitHub stars versus Yii 2's 4k, with an exponentially larger package ecosystem on Packagist and approximately ten times more job offers.
Hiring Laravel developers is trivial; finding talent with Yii experience is increasingly difficult. Onboarding accelerates when the framework is familiar. Tools, SaaS integrations, and IDE support are optimized for Laravel because that's where the critical mass of developers is.
As one Reddit comment notes: "Craft CMS moving to Laravel is a game-changer. Developers gain modern tools, agencies enjoy easier hiring."
Conclusion: Pragmatism over purism
The story of Craft and Yii isn't about technical superiority of frameworks. It's about communities, momentum, and the pragmatic reality that the best code in the world is useless if no one maintains it. Yii 2 isn't a bad framework; the world simply moved on, and Laravel won the "war" not through pure technical merit, but by building community, tools, and ecosystem.
For teams with existing Craft projects, the message is clear: there's no rush. Craft 5 LTS offers sufficient margin to evaluate, test, and migrate when optimal for each specific project. Simple sites will likely migrate without friction; complex ones will need planning, but have years to do it right.
For teams evaluating CMS options in 2025, the landscape simplifies. Laravel emerges as the dominant platform with two enterprise-grade options: Craft (post-2026) and Statamic (now). Symfony maintains Sulu as a solid alternative for those already operating in that ecosystem.
As one developer on Reddit says: "Now with both products using Laravel, the landscape opens a little and will push each other to better things...like Messi & Ronaldo to use a sports analogy." Healthy competition within a common ecosystem. Perhaps that's the sustainable future of the PHP CMS landscape: less fragmentation, more specialization within frameworks that actually matter.
Craft's decision is, fundamentally, an admission that frameworks are infrastructure, not identity. What matters is the CMS you build on top, not the ORM you use underneath. And if changing frameworks guarantees another decade of sustainable development, then changing is the right thing to do. Pragmatism over purism. Ecosystem over technical elegance. Future over legacy.