Você precisa do Laravel 5.2? 10

A versão 5.2 do Laravel saiu, com features muito aguardadas por sua comunidade.

Laravel é um framework com evolução constante. Seus releases são feitos de 6 em 6 meses, então aguarde um Laravel 5.3 e 5.4 ainda esse ano…

Essa evolução é muito boa para o framework, porém não são todos os usuários e projetos que estão prontos para ela.

Antes da versão 5.2 saiu a novidade realmente mais aguardada, a versão LTS do framework. Laravel 5.1 é a primeira versão LTS do framework, com suporte de 2 anos para bugs e 3 anos para updates de segurança. Enquanto isso as versões não LTS terão suporte de apenas 6 meses para bugs e 1 ano para updates de segurança. https://laravel-news.com/2016/01/laravel-release-process/

Suporte é algo decisivo quando está se escolhendo uma ferramenta. Já ouvi muitas pessoas alegando escolher outros frameworks e até linguagens dizendo que teriam suporte por parte da empresa/desenvolvedor.

Apesar de muitas empresas ou pessoas que alegam isso nunca terem pedido suporte em nenhuma ocasião, produtos ou ferramentas LTS possuem um ecossistema e documentação mais rico e detalhado.

O Laravel 5.2 não foge à essa regra. Apesar de ter saído oficialmente, a documentação e ecossistema por trás dele ainda não está no mesmo nível que a L5.1

Então, caso você não esteja habituado ao Laravel dê preferencia a versão 5.1, pois você terá mais suporte, e o conteúdo disponível te ajudará mais. Considere também se você realmente precisa das novas features do Laravel 5.2 e se os pacotes de terceiros que você espera usar, possuem compatibilidade com ele.

Não me entenda errado, o Laravel 5.2 não é instável, nem implementa coisas que vão quebrar a compatibilidade. Somos nós que ainda não estamos prontos.

Estás são as principais novas features do Laravel 5.2 (até o momento…)

Algo que não enumerei é o melhor suporte a desenvolvimento de APIs. Quem trabalha com APIs sabe que session, cookies e afins devem ser desabilitados. Por padrão o Laravel 5.2 não ativa mais essas coisas. Devido a isso, muitas pessoas desavisadas ou que seguem tutoriais para L5.1 estão tendo problemas com auth e session. Se você esta usando Laravel 5.2 lembre-se de colocar o middleware web em todas as suas rotas.

Com essas informações em mente acredito que será mais fácil decidir qual versão do Laravel usar. E sempre em caso de dúvidas você pode entrar no slack da nossa comunidade e tirar suas dúvidas. [convites]

  • gu_arauj0

    Muito bom! Eu mesmo sou um dos desavisados que tive esse problema. hehe Não sabia da existências de versões LTS. Me sanou muitas dúvidas. Obrigado!

  • Hítalo Silva

    O link do “Implicit Route Model Binding” está para a versão 5.1

    • http://luizvinicius.com.br/ Vinicius Reis

      Corrigido :)

  • Cristiano Pacheco

    Obrigado Vinicius. eu ainda não migrei para 5.2 e não vou migrar nem não cedo.

  • mlops

    Bem falado. Acho delicado tudo, me irrita um pouco até, fica dificil confiar em algum material tudo muda! e nao se fala de versões. Acho q evolução deve existir sempre qual a melhor maneira de ocorrer isso, que é sempre delicado. Obg

  • Jonas Ferreira Dos Santos

    Estou iniciando o Laravel com ajuda da apostila da Caelum (5.1)
    Ai estou usando a v 5.2 tive problema em usar o ‘old()’ por conta de nao usar sessoes, cooks etc … ai resolvi o problema colocando middleware web nas rotas.
    E tambem alguns arquivos não consta na v 5.2 no caso o app.css. Estou feliz por esta aprendendo Laravel.

    • Luciano Bezerra

      Jonas, poderia detalhar como você resolveu o seu problema com o old? Estou amarrado nesse tranco.

      • Jonas Ferreira Dos Santos

        Olá eu coloquei as rotas dentro do Grupo middleware.. Eu não tenho como te mostar agora..mas quando o projeto e criado automaticamente nas rotas…coloca a rota que precisa dentro desse grupo funcionou cmgo…

      • Juliano Petronetto

        @disqus_VtVAhmhMzD:disqus você precisa colocar o middleware ‘web’ nas suas rotas, pode se assim:

        Route::group([‘middleware’ => [‘web’]], function () {

        // suas rotas aqui

        });

        ou você pode injetá-lo direto no Controller.php (app / Http / Controllers)

        public function __construct()

        {

        $this->middleware(‘web’);

        }

  • Gbaroke Baroke

    Obrigado pelo artigo. Apenas atualizando, hoje, na versão 5.2, não é mais necessário utilizar o middleware->[Web] nas rotas.