Eu li a documentação e parece que o Lumen é o Laravel com menos recursos. Eu devo estar esquecendo alguma coisa. Estou procurando uma tabela de comparação dos componentes e recursos do Laravel e do Lumen. Alguém sabe as diferenças?
Eu li a documentação e parece que o Lumen é o Laravel com menos recursos. Eu devo estar esquecendo alguma coisa. Estou procurando uma tabela de comparação dos componentes e recursos do Laravel e do Lumen. Alguém sabe as diferenças?
Respostas:
Com a versão mais recente do Lumen (5.2), o Microframework se concentra nas APIs sem estado.
A documentação declara:
O Lumen 5.2 representa uma mudança no emagrecimento do Lumen para se concentrar apenas em servir APIs JSON sem estado. Como tal, sessões e visualizações não são mais incluídas na estrutura. Se você precisar acessar esses recursos, use a estrutura completa do Laravel.
O lúmen tem tudo a ver com velocidade . É mais rápido e pode lidar com mais solicitações por segundo que o Laravel.
O Laravel é uma estrutura que cola vários componentes (componentes de terceiros e próprios do Laravels). Agora, o Lumen utiliza muitos dos mesmos componentes, mas reduz ao mínimo o processo de inicialização. Você poderia dizer que é uma "cola diferente", os componentes (e, portanto, muitos dos recursos) são basicamente os mesmos.
A melhoria de desempenho é obtida removendo parte da flexibilidade da estrutura em termos de configuração e alterando o processo de inicialização padrão.
Além disso, mais recursos são desativados por padrão e precisam ser ativados antes que possam ser usados. Como exemplo: Fachadas (como DB::table()
)
Você primeiro precisa descomentar esta linha bootstrap/app.php
para habilitá-las:
// $app->withFacades();
O mesmo vale para arquivos de ambiente Dotenv e Eloquent.
Para o roteamento, o Lumen usa o nikic / FastRoute em vez do roteador symfonys, porque ele tem um desempenho muito melhor e dá à microestrutura outro grande impulso.
Fora isso, praticamente tudo é igual ao Laravel.
Boas leituras no Lumen
O Lumen não foi projetado para substituir o Laravel; é uma estrutura mais especializada (e simplificada) projetada para microsserviços e APIs. Ele retirou recursos desnecessários de uma API, como sessões HTTP e cookies, além de limitar o número de opções de configuração. Pronto, o Lumen sacrificou a flexibilidade do Laravel por velocidade.
No entanto, você pode adicionar componentes do Laravel ao Lumen para estendê-lo, para que ele possa ser usado para mais do que apenas microsserviços e API. No entanto, se seu objetivo é ampliar o Lumen para se tornar um site, você também pode usar o Laravel.
Eles também têm casos de uso diferentes. Lumen e Laravel devem trabalhar juntos. Para APIs e serviços serem frequentemente chamados, use o Lumen. Para aplicativos voltados para o usuário, use o Laravel.
Esta resposta foi retirada de um post que escrevi que explica a diferença entre Lumen e Laravel.
Citações de Matt Stauffer
O lúmen possui a mesma base do Laravel e muitos dos mesmos componentes. Mas o Lumen foi criado para microsserviços, não tanto para aplicativos voltados para o usuário (embora possa ser usado para qualquer coisa.) Dessa forma, os detalhes de front-end como Bootstrap e Elixir e o bootstrap e as sessões de autenticação não são ativados imediatamente, e há menos flexibilidade para estender e alterar os arquivos de inicialização.
Você pode ler mais aqui
npm install
que não está completamente pronto "pronto para uso", eu diria. Portanto, não perdemos muito em relação a isso, mudando para o Lumen. Em Lumen, eu apenas criar um package.json e npm instalar Elixer, e pavilhão configuração e feito ...
redirect()->intended
. Espero que o Lumen alcance essas áreas. Eu realmente gosto de um Laravel sem ORM (Eloquent) e, portanto, o Lumen é muito atraente para mim.
redirect()->intended()
com uma API, que é o foco do Lumen.
O microframework Lumen é uma versão leve da estrutura full-stack do Laravel. O Lumen usa a sintaxe e os componentes do Laravel e pode ser 'atualizado' facilmente para o Laravel.
O Lumen é uma estrutura mais especializada (e simplificada) projetada para o desenvolvimento de microsserviços e o desenvolvimento de API. Portanto, alguns dos recursos do Laravel, como sessões HTTP, cookies e modelos, não são necessários e o Lumen os retira, mantendo o essencial - roteamento, registro, armazenamento em cache, filas, validação, tratamento de erros e alguns outros.
Por que Lumen?
O Lumen é a solução perfeita para criar microsserviços baseados no Laravel e APIs extremamente rápidas. De fato, é uma das micro-estruturas mais rápidas disponíveis. Nunca foi tão fácil escrever serviços incrivelmente rápidos para dar suporte aos aplicativos Laravel. Doc
O Lumen é uma estrutura para criar APIs, que essencialmente servirá respostas JSON para suas solicitações. É isso aí.
Esses tipos de aplicativos são conhecidos como serviços da web em geral .
A partir da atualização do Lumen 5.2, ele não suporta visualizações de laravel, sessões etc.
Alguns componentes da estrutura do Laravel são trocados por outros pacotes em favor do desempenho. verifique aqui
Exemplos de cenários em que podemos considerar o Lumen
A principal diferença entre laravel e lúmen é que o Laravel pode ter comandos artesanais, que não possui lúmen.