Maison >cadre php >Laravel >Comment ne pas utiliser le moteur de modèles Blade dans Laravel

Comment ne pas utiliser le moteur de modèles Blade dans Laravel

PHPz
PHPzoriginal
2023-04-19 10:07:52802parcourir

Laravel est un excellent framework PHP qui adopte le modèle de conception MVC (Model-View-Controller), permettant aux développeurs de créer plus facilement des applications Web. Parmi eux, View fait partie de l'architecture MVC et est utilisé pour afficher les données et l'interface utilisateur de l'application. Dans Laravel, les vues sont généralement rendues à l'aide du moteur de modèles Blade. Cependant, dans certains cas, nous pouvons également utiliser PHP directement pour restituer la vue sans utiliser le moteur de modèles Blade. Cet article explique comment utiliser Laravel sans le moteur de modèles Blade.

Pourquoi ne pas utiliser le moteur de modèles Blade

Bien que le moteur de modèles Blade soit largement utilisé dans Laravel et qu'il possède des fonctionnalités très utiles telles que l'héritage de modèles, les instructions conditionnelles, les instructions de boucle, etc. Cependant, dans certains cas, nous pouvons avoir besoin d'utiliser du PHP natif pour afficher la vue, par exemple :

  • La syntaxe de Blade est trop complexe et difficile à lire et à maintenir
  • Nous souhaitons utiliser certaines fonctions ou extensions propres à PHP ; , et ceux-ci ne sont pas pratiques à implémenter dans Blade ;
  • Nous avons déjà des modèles de vue PHP prêts à l'emploi et ne souhaitons pas les réécrire en tant que modèles Blade.

Dans ces cas-là, on peut envisager de ne pas utiliser le moteur de template Blade et d'utiliser directement PHP pour rendre la vue.

Méthode sans utiliser le moteur de modèles Blade

Alors, comment utilisons-nous PHP pour restituer des vues dans Laravel ? Deux méthodes seront présentées ci-dessous.

Utiliser des fichiers PHP comme vues

Nous pouvons créer un fichier PHP puis utiliser la méthode view() dans le contrôleur pour charger le fichier. Par exemple, on crée un fichier PHP nommé hello.php dans le répertoire resources/views avec le contenu suivant : view() 方法来加载该文件。例如,我们在 resources/views 目录下创建一个名为 hello.php 的 PHP 文件,内容如下:

<!DOCTYPE html>
<html>
<head>
    <title>Hello Laravel</title>
</head>
<body>
    <h1>Hello, <?php echo $name; ?>!</h1>
</body>
</html>

然后,在控制器方法中,我们可以使用以下代码来加载这个视图:

public function hello()
{
    $name = 'Laravel';
    return view('hello', ['name' => $name]);
}

在这个例子中,我们使用 view() 方法来加载 hello.php 文件,并将一个变量 $name

public function hello()
{
    $name = 'Laravel';
    $html = '<!DOCTYPE html>
             <html>
             <head>
                 <title>Hello Laravel</title>
             </head>
             <body>
                 <h1>Hello, ' . $name . '!</h1>
             </body>
             </html>';
    return response($html);
}
Ensuite, dans la méthode contrôleur, on peut Utiliser le code suivant pour charger cette vue :

rrreee

Dans cet exemple, nous utilisons la méthode view() pour charger le fichier hello.php et définir une variable $name est transmis à la vue.

Sortie HTML directement dans le contrôleur

En plus d'utiliser des fichiers PHP comme vues, nous pouvons également générer du code HTML directement dans le contrôleur. Par exemple :

rrreee

Dans cet exemple, nous définissons une chaîne HTML directement dans la méthode du contrôleur et la renvoyons comme réponse.

Résumé🎜🎜Le moteur de modèles Blade est une fonctionnalité majeure de Laravel, mais dans certains cas particuliers, nous pouvons également utiliser PHP natif pour restituer les vues au lieu d'utiliser le moteur de modèles Blade. Cet article décrit deux méthodes qui n'utilisent pas le moteur de modèle Blade, utilisant des fichiers PHP comme vues et produisant du code HTML directement dans le contrôleur. Bien entendu, la méthode à utiliser dépend toujours de la situation spécifique. 🎜

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!

Déclaration:
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