Como gerar páginas estáticas no Laravel?

  • Autor Autor nano133
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
N

nano133

Beta
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Buenas,

tengo un proyecto en laravel, pero por lo que he estado leyendo. Para crear paginas estáticas han de realizar una llamada a la base de datos y devolver una consulta ya que está estructurado para hacer paginas dinámicas?

es así o entendí mal?

Es muy difícil de hacer esas paginas?
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
No solo tienes que colocar tus paginas estáticas en public, oh depende a lo que llames paginas estaticas porque muy bien puedes crear un vista y devolver una view con una plantilla html sin mas.
 
Pues Laravel es un poco pesado al usar llamadas a la BD...
 
Buenas,

tengo un proyecto en laravel, pero por lo que he estado leyendo. Para crear paginas estáticas han de realizar una llamada a la base de datos y devolver una consulta ya que está estructurado para hacer paginas dinámicas?

es así o entendí mal?

Es muy difícil de hacer esas paginas?

Eso es falso, tienes que crear una ruta y luego el controlador y si quieres mostrar algo la vista pero no necesitas la base de datos XD
 
Buenas,

tengo un proyecto en laravel, pero por lo que he estado leyendo. Para crear paginas estáticas han de realizar una llamada a la base de datos y devolver una consulta ya que está estructurado para hacer paginas dinámicas?

es así o entendí mal?

Es muy difícil de hacer esas paginas?
Es fácil hacer paginas estáticas en Laravel ya hay packages para eso o puedes usar soluciones hechas con PHP.

Respecto a las queries a la BD eso no es problema simplemente cacheas las consultas. Hay varios métodos para hacer eso, dependiendo de tu tipo de proyecto seleccionas la estrategia mas adecuada.
 
No hace faltan paquetes adicionales, si tu página es html simplemente creala en la carpeta /public y estará disponible. Por ejemplo, example.html podrás entrar en url-proyecto/example.html.

Por otra parte, si es una vista con algo de PHP, puedes crear una ruta en routes/web.php

Route::get('/example', function () { return view('example'); });


Creas la vista en resources/views/example.blade.php
 
No hace faltan paquetes adicionales, si tu página es html simplemente creala en la carpeta /public y estará disponible. Por ejemplo, example.html podrás entrar en url-proyecto/example.html.

Por otra parte, si es una vista con algo de PHP, puedes crear una ruta en routes/web.php

Route::get('/example', function () { return view('example'); });


Creas la vista en resources/views/example.blade.php
eso sigue siendo un pagina dinámica, ya que se genera con Blade y todo el engine de Laravel.

Cuando es una pagina "estática" es un archivo generado un "archivo final/salida" con todo el contenido ya renderizado. Laravel hace a medias eso para ahorrar recursos. Yo uso Varnish por ejemplo para eso.
 
eso sigue siendo un pagina dinámica, ya que se genera con Blade y todo el engine de Laravel.

Cuando es una pagina "estática" es un archivo generado un "archivo final/salida" con todo el contenido ya renderizado. Laravel hace a medias eso para ahorrar recursos. Yo uso Varnish por ejemplo para eso.

Laravel automaticamente cachea todo, tienes que leer la documentación: https://laravel.com/docs/10.x/cache

Por lo que sí, es estática.
 
eso sigue siendo un pagina dinámica, ya que se genera con Blade y todo el engine de Laravel.

Cuando es una pagina "estática" es un archivo generado un "archivo final/salida" con todo el contenido ya renderizado. Laravel hace a medias eso para ahorrar recursos. Yo uso Varnish por ejemplo para eso.

Sigue siendo estática. El contenido no cambia cada vez que se carga.
 
Laravel automaticamente cachea todo, tienes que leer la documentación: https://laravel.com/docs/10.x/cache

Por lo que sí, es estática.
Claro que Laravel hace el cache de views, pero es un cache a medias. Tengo proyectos con millones de usuarios diarios. A la home entran casi 3M de visitas diarias. Asi que tengo que super optimizar todo.

Comparando el cache de varnish con el de Laravell, varnish es mejor. El "cache estatico" de laravel es a medias por eso digo que no es estático.

Sigue siendo estática. El contenido no cambia cada vez que se carga.
mmmm que te digo, depende que entendemos por estática. Estático es un archivo con todo ya renderizado. o me equivoco? Solo html,js y el browser lo imprime, nada de uso de backend, nada de PHP, compiladores etc.

Laravel cuando hace el cache de las views las almacena en /storage, si te fijas en el archivo de lo que almacena en el cache de las views, sigue existiendo variables para interpretar. Por lo tanto Laravel sigue usando su engine y "compilando" cosas para generar la vista final y eso no es estático del 100%. Es un estático a medias, una forma de ahorrar recursos si ... pero no la mas eficiente del todo para millones de views. Para unas miles de visitas si funciona bien.

Port ejemplo en la vista tienes
<loc>{{ $tag->url }}</loc>
en el archivo de cache
<loc><?php echo e($tag->url); ?></loc>

Por favor corríjanme si me equivoco que estamos para aprender.
 
Última edição:
Claro que Laravel hace el cache de views, pero es un cache a medias. Tengo proyectos con millones de usuarios diarios. A la home entran casi 3M de visitas diarias. Asi que tengo que super optimizar todo.

Comparando el cache de varnish con el de Laravell, varnish es mejor. El "cache estatico" de laravel es a medias por eso digo que no es estático.


mmmm que te digo, depende que entendemos por estática. Estático es un archivo con todo ya renderizado. o me equivoco? Solo html,js y el browser lo imprime, nada de uso de backend, nada de PHP, compiladores etc.

Laravel cuando hace el cache de las views las almacena en /storage, si te fijas en el archivo de lo que almacena en el cache de las views, sigue existiendo variables para interpretar. Por lo tanto sigue Laravel sigue usando su engine y "compilando" cosas para generar la vista final y eso no es estático del 100%. Es un estático a medias, una forma de ahorrar recursos si ... pero no la mas eficiente del todo para millones de views. Para unas miles de visitas si funciona bien.

Por favor corríjanme si me equivoco que estamos para aprender.

El compañero preguntó como hacer página estáticas en Laravel y le dí dos soluciones. Yo nunca hablé del caché. Que detrás funcione de manera dinámica o llamarlo estático a medias en eso tienes razón, pero a la vista del frontend es una página estática. Es decir, que la página siempre sea la misma y no esté afectada por ningun parámetro o factor.
 
Claro que Laravel hace el cache de views, pero es un cache a medias. Tengo proyectos con millones de usuarios diarios. A la home entran casi 3M de visitas diarias. Asi que tengo que super optimizar todo.

Comparando el cache de varnish con el de Laravell, varnish es mejor. El "cache estatico" de laravel es a medias por eso digo que no es estático.


mmmm que te digo, depende que entendemos por estática. Estático es un archivo con todo ya renderizado. o me equivoco? Solo html,js y el browser lo imprime, nada de uso de backend, nada de PHP, compiladores etc.

Laravel cuando hace el cache de las views las almacena en /storage, si te fijas en el archivo de lo que almacena en el cache de las views, sigue existiendo variables para interpretar. Por lo tanto Laravel sigue usando su engine y "compilando" cosas para generar la vista final y eso no es estático del 100%. Es un estático a medias, una forma de ahorrar recursos si ... pero no la mas eficiente del todo para millones de views. Para unas miles de visitas si funciona bien.

Port ejemplo en la vista tienes
<loc>{{ $tag->url }}</loc>
en el archivo de cache
<loc><?php echo e($tag->url); ?></loc>

Por favor corríjanme si me equivoco que estamos para aprender.

Eso es cierto, pero dices que tienes memcache y ya con eso renderiza.
Si quieres algo más, te recomiendo ver este package: https://github.com/tighten/jigsaw
 
Voltar
Topo