Laravel 5.1 with LTS is released
laravel-news.com
laravel-news.com
We've been using it with Cachet (https://github.com/cachethq/cachet) for a couple of weeks. Mainly it was to make testing our API easier, the new PHPUnit extensions are so freaking amazing - it makes unit testing a dream.
Other than that, other cool features I like are the LTS, dropping of the mcrypt extension requirement and also the broadcasting feature (which is worth checking out btw)
Also this release contains some code that I've committed too, which is always a nice feeling :)
In previous versions of Laravel, encryption was handled by the
mcrypt PHP extension. However, beginning in Laravel 5.1, encryption is
handled by the openssl extension, which is more actively maintained.
This is easily my favorite aspect of the new release. Please, everyone else, follow their example and stop using mcrypt in your projects.If mcrypt is such a pain for OSX users, I might offer to refactor some other frameworks' libraries to use openssl in the near future.
Why mcrypt sucks: https://paragonie.com/blog/2015/05/if-you-re-typing-word-mcr...
It's not, if you're using Homebrew (which you should be). `brew install php56-mcrypt` and you're done.
(I personally use Mac as my host OS, because I love it, except when it comes to installing server software).
I can only imagine your current bash-scripts are awesome and do tons of stuff for you, but I'd really like to suggest you give ansible another go, and ignore the different files for roles/vars/tasks in the beginning, just dump everything into one playbook, like your bash scripts do currently.
Outstanding work and the new docs are an excellent improvement.
That said I do like the things that Laravel gives you out of the box like auth and the command pattern.
Plenty are mature enough to offer this, but commercial backing must be hard to come by.
I'd be happy if you could link the benchmarks you have seen that demonstrates performance increases.
First, it's PHP. Same situation with Ruby and Python. All generally slow as a glacier (obvious exclusions being different implementations of said languages).
Developers' focus on code speed is ridiculous (is that too strong a word?) due to relative inexpensiveness of "hardware" and the "fact" (yep, fact) that code is for building value.
In most cases, that value is provided via an automated service. Speed of that automation is typically not critical (obvious exclusions being something like medical equipment or stock trading, or making people wait ridiculous seconds after clicking a button. Please don't Well Actually™ me to death with pedantry).
For me personally, I was a ZF 1.x guy; when I started a new project I chose Laravel, and it was a dream - crazy zippy (compared to ZF). But as I started to do more with it, I started to need to reduce my feature set, implement performance "features" just to retain a measure of speed.
Is 5.x faster than 4.x? Sure. Does it include batteries and the kitchen sink? You bet. Do I still prefer a faster framework like Phalcon and implement the features I miss myself? Damned skippy.
I recently started thinking about switching languages and like everyone I know I started with Node.js first. I found myself rapidly infuriated with it and decided to try out Go. I wrote a quick S3 upload demo app just to grok it and I was thrilled with the results. Scala outperforms Go but I like Go a little more for rapid app dev. If you decide to take the plunge do let us know how it goes!
(Also wonder how well php7 will help that out).
I think at that scale, it's certainly reasonable to try getting away from PHP.
Having said that, looking at the future it would make a lot more sense to switch to a different language altogether, it's a same my current employer only wants to run php backend (because it's 1 command to install, I know bad reason, but they don't want to support other languages). Why exactly are you looking at Scala or Go? I kind of get Scala (but I'd personally rather opt for Clojure), but why Go? Purely because it's much more performant than php? Doesn't this has to do with the lacking of such a full-featured framework like laravel?
In August, I switched to HHVM and I was able to shrink down to a single server. Now I'm running 3 for things like redundancy. My bill? Around $1500 a month, big difference. No wonder Etsy, Wikipedia, Baidu and others have switched over.
Not only this, but 3.8 is coming with increased performance over 7. Not only RPS but also latency as well. I run an ad server and the latency DROP was huge compared to PHP.
Oh and for the backend application. Moving to HHVM it definitely feels much snappier than PHP. In some cases, you can see the difference. I don't regret moving to HHVM. Very very doubtful I'd move back to PHP 7.
My only 2 complaints are that Postgres and zeroMQ drivers are 3rd party extensions. There is talk of Postgres coming in house. I just wish more people could petition for ZeroMQ to be included.
If you do go to HHVM. Maybe it may be worth moving from Laravel to Slim (3)? You may get a boost due to the lower framework size? I know I did when going from Codeigniter to Slim 2.
PHP once had its place to make .html files dynamic. Unfortunately, the ease of making this happen accidentally turned PHP into what it is today. Beyond this, there isn't much merit to the language, the frameworks, or the ecosystem at all.
We're certainly running. But rather than stopping at HHVM, we're dropping PHP altogether.
Although like you, I am eyeing golang as well. But not got any work scheduled until the latter part of this year.
I'm not quite sure where L5's performance gets sunk so badly, but it really is a lot slower than earlier variants of the framework. About the only thing slower is Rails, really!
... and unlike Rails, Laravel hasn't had the stability and ecosystem to make those things really easy. Hopefully this LTS plan will change that a wee bit, but we'll see.
I'm used to thinking of LTS support in terms of 4-5 years. I suspect everyone else is too and Laravel is going to piss off everyone who doesn't read the fine print.
PHP versions offer 2 years of support + 1 year of security fixes. So it doesn't really make sense for a PHP project to offer longer support.
2) That doesn't make it long term support.
3) > Since originally launching in 2011, Laravel has always followed the “release early, release often” mantra which is popular in open source applications. With the historic rise in popularity of the framework, it was time to start focusing on the needs of large organizations and mission-critical applications that need security fixes but can’t upgrade quickly. Laravel 5.1 will now include 3 years of security fixes.
The logical way to have handled this if that was the reasoning would have been to say "Laravel 5.1 will be supported until Aug 2017 to line up with the PHP release cycle and provide a stable platform for large organizations along multiple levels of their tech stack.
As each version of PHP is released, we will release a LTS support version of Laravel in sync with PHP's cycle within X months."
That isn't what they did and that is not what they communicated in any, way, shape or form. It doesn't line up with PHP's release cycle, it doesn't have the coverage needed to be truly LTS. It isn't like PHP has breaking changes in every point release.
If I'm on a project where LTS matters I'd not be doing my job if I didn't read the small print.