Quite some concern about this here too... I'm really looking forward to a reassuring answer!
This gives a bit of information on 4.2, suggesting slight changes to the core but nothing significant: http://taylorotwell.com/looking-forward-laravel-4-2/
I have also seen on this forum that big releases happen every 6 months, next one due around May.
Longer term than that, who knows. Though I would say with any good and long term framework big changes will occur to keep up with current tech. Just because these changes happen doesn't mean you have to migrate, if your site works fine save yourself some work.
Obviously just my opinion though!
Hey cgoosey1, thanks for the info. As for the "big release" thing and keeping up with tech, I guess my issue becomes backward compatibility. Frameworks like CI and Rails have good backwards compatibility from what I know, and they make changes incrementally. L3 to L4 was a huge jump across the board all at once, and that's what bothers me. It's inevitable that you upgrade and learn new tech in our world, but you need to know that your framework takes backward compatibility and migration into account for everyday developers.
You can structure your application in a way that minimizes the degree to which backwards-incompatible changes prevent you from upgrading. Try to think of the framework as an implementation of your application and not the other way around. Granted, that's not a straight up answer to your question but it's something you should think about.
For example, if you're putting all of your eloquent logic in your controllers, a significant change to Eloquent in a theoretical Laravel 5 would be a huge pain to fix. But if you structure your application to use repositories, you may have to re-implement the repository but won't need to make many other changes.
Hello ashour, I understand your point but I have to disagree to a certain level. The big jump which has broken BC was necessary in this case. The move to composer could not have been cleanly done with some half-assed steps. It would have been as confusing as it have been, plus a whole another story for the core team to maintain.
You took CI has an example. Well it's a good one since the project is more or less dead and does not have any company backing it up actively. The principle of the framework was to maintain BC, which is why Fuel PHP, Yii and Laravel were made to begin with.
I sincerely doubt that any serious framework can make the move to composer based component without making a clean break over the "old code".
As cgoosey1 pointed out, if your code work, don't update it, save yourself some work.
The structure of laravel 4.x will be around for a long time. With each X release there may be a few tweaks you have to make code / server wise such as 4.2 being php 5.4 only but those are relatively easy changes.
As many have said, the 3 -> 4 BC break had to be done to move to composer and be better in the long run. If they tried to hybrid the approach for a while laravel would be bloated, less featureful and slow.
Laravel is maturing and stabilizing. They have moved to 6 month .X releases so that people know when to expect bigger updates and can plan accordingly. This is especially important because of how many companies are relying on laravel now (including Taylor's employer userscape).
My advice, convert only what you must from L3 to L4 and any new projects start in L4. Laravel in its current form is going to be around for a long time.
Awesome stuff. Well it sounds like L3 to L4 was the biggest jump Laravel will see for awhile, which is some comfort. I'll quote from Taylor's blog (link provided by cgoosey1 above):
"With the release of Laravel 4.1 a few weeks ago, I’m already looking ahead to the 4.2 release. Laravel 4.x continues to be a wonderful, well-tested architectural foundation and continues to offer the best foundation for rapidly building modern PHP web applications. Thankfully, I don’t think any sweeping architecture changes will be needed for a long time (years)."
Thanks to all who replied. Loads of good advice here. I'm restructuring the app on L3 for now, and planning to work in abstraction layers on all main modules to make the app portable. Much needed, appreciate it, fellas
Sign in to participate in this thread!
The Laravel portal for problem solving, knowledge sharing and community building.
The community