Maison > cadre php > Laravel > le corps du texte

Comment utiliser la solution de rendu côté serveur fournie par Laravel

PHPz
Libérer: 2023-04-13 14:53:12
original
752 Les gens l'ont consulté

Laravel est un framework PHP populaire qui fournit un ensemble complet d'outils et de fonctionnalités pour créer des applications Web, notamment le routage, les moteurs de modèles, l'ORM de base de données, etc. Cependant, lors de la création d'applications Web riches en contenu, les performances de rendu frontal sont un problème qui ne peut être ignoré. Les solutions traditionnelles de séparation front-end et back-end nécessitent souvent de demander des données au serveur via des technologies telles que AJAX et de restituer les données vers le DOM via JavaScript, ce qui affecte dans une certaine mesure les performances et le référencement du site Web. Le rendu côté serveur peut restituer les données au format HTML côté serveur, réduisant ainsi les opérations JavaScript sur le client et améliorant les performances du site Web et les effets de référencement. Cet article explique comment utiliser la solution de rendu côté serveur fournie par Laravel.

  1. La solution de rendu côté serveur de Laravel

Laravel fournit un package de rendu indépendant côté serveur, Laravel View, qui est spécifiquement utilisé pour restituer les vues et fournit un ensemble de mécanismes de mise en cache côté serveur configurables de manière flexible qui peuvent considérablement optimiser le rendu. performance. L'utilisation de la solution de rendu côté serveur dans une application Laravel est également très simple. Il vous suffit d'installer le package Laravel View via Composer et d'enregistrer le fournisseur de services dans l'application.

Tout d'abord, nous devons ajouter les dépendances suivantes dans le fichier composer.json :

"require": {
    "illuminate/view": "^5.6|^6.0|^7.0|^8.0"
}
Copier après la connexion

Ensuite, ajoutez le code suivant dans le fichier config/app.php de l'application pour enregistrer le fournisseur de services :

'providers' => [
    //...
    Illuminate\View\ViewServiceProvider::class,
    //...
],
Copier après la connexion
  1. Créez la vue

Dans la solution de rendu côté serveur, nous devons créer une vue et transmettre des données à la vue afin que les données et la vue puissent être intégrées dans HTML côté serveur. Dans Laravel, nous pouvons définir des vues en créant des fichiers modèles Blade. Par exemple, nous créons une vue locale /home.blade.php :

<!DOCTYPE html>
<html>
    <head>
        <title>{{$title}}</title>
    </head>
    <body>
        <h1>{{$content}}</h1>
    </body>
</html>
Copier après la connexion

La vue ci-dessus définit une structure de document HTML via la syntaxe Blade et utilise les variables $title et $content pour restituer le titre et le contenu de la page.

  1. Rendu de vues

Le rendu de vues à l'aide du package Laravel View est très simple. Il suffit d'utiliser la bibliothèque de classes fournie par Laravel View, de transmettre le nom de la vue et les données requises par la vue, puis de renvoyer le serveur. HTML rendu côté. Par exemple :

use Illuminate\Support\Facades\View;

class HomeController extends Controller
{
    public function index()
    {
        $title = 'Laravel服务端渲染';
        $content = '服务端渲染是一种优化前端性能和SEO效果的方案。';

        $html = View::make('home', compact('title', 'content'))->render();
        return response($html);
    }
}
Copier après la connexion

Le code ci-dessus transmet d'abord le nom de la vue et les données requises par la vue à la méthode View::make() pour générer la vue HTML rendue côté serveur. Le HTML peut être renvoyé directement en réponse au client.

  1. Configurer le cache

Le rendu côté serveur consomme beaucoup de ressources du serveur Lorsque le nombre d'utilisateurs est important, la mise en cache peut être nécessaire pour optimiser les performances. Laravel View fournit un mécanisme de mise en cache configurable de manière flexible qui peut mettre en cache les vues rendues dans le stockage de cache tel que les systèmes de fichiers, Memcached et Redis. Par exemple, si nous mettons en cache la vue dans le système de fichiers, nous pouvons utiliser le code suivant :

use Illuminate\Contracts\Cache\Factory as CacheFactory;

class HomeController extends Controller
{
    public function index(CacheFactory $cache)
    {
        $title = 'Laravel服务端渲染';
        $content = '服务端渲染是一种优化前端性能和SEO效果的方案。';

        return $cache->remember('home', 60, function () use ($title, $content) {
            $html = View::make('home', compact('title', 'content'))->render();
            return response($html);
        });
    }
}
Copier après la connexion

Le code ci-dessus obtient d'abord l'instance CacheFactory via l'injection de dépendances, puis utilise la méthode Remember() de l'instance de cache pour mettre en cache la vue dans le système de fichiers. Vue rendue côté serveur pendant 60 secondes.

  1. Résumé

Cet article explique comment utiliser la solution de rendu côté serveur fournie par le package Laravel View, y compris la création de vues, le rendu des vues et la configuration du cache. Le rendu côté serveur est une solution permettant d'optimiser les performances frontales et les effets de référencement, ce qui peut considérablement améliorer l'expérience utilisateur et le classement du site Web dans les moteurs de recherche. Grâce au package Laravel View, nous pouvons facilement implémenter le rendu côté serveur et optimiser les performances et l'expérience utilisateur des applications Laravel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal