Maison >cadre php >YII >Comment créer une page de bonjour en utilisant le framework yii

Comment créer une page de bonjour en utilisant le framework yii

(*-*)浩
(*-*)浩original
2019-11-26 14:44:062945parcourir

Comment créer une page de bonjour en utilisant le framework yii

Ce chapitre décrit comment créer une nouvelle page « Bonjour » dans votre application. Pour atteindre cet objectif, une action et une vue seront créées :

L'application enverra la requête de page à l'action (apprentissage recommandé : tutoriel yii)

L'action rendra à son tour la vue présentant "Bonjour" à l'utilisateur final

Tout au long de ce chapitre, vous maîtriserez trois choses :

Comment créer un action pour répondre aux requêtes,

comment créer une vue pour construire le contenu de la réponse,

et comment une application répartit les requêtes en actions.

Créer une action

Pour "Bonjour", vous devez créer une action say qui reçoit le paramètre de message de la requête et l'affiche à l'utilisateur final. Si la requête ne fournit pas de paramètre de message, l'opération affichera le paramètre par défaut "Bonjour".

信息: 操作是最终用户可以直接访问并执行的对象。 操作被组织在控制器中。 一个操作的执行结果就是最终用户收到的响应内容。

L'action doit être déclarée dans le contrôleur. Pour plus de simplicité, vous pouvez déclarer l'action say directement dans le contrôleur SiteController. Ce contrôleur est défini par le fichier contrôleurs/SiteController.php. Voici la déclaration d'une action :

<?php

namespace app\controllers;

use yii\web\Controller;

class SiteController extends Controller
{
    // ...现存的代码...

    public function actionSay($message = &#39;Hello&#39;)
    {
        return $this->render(&#39;say&#39;, [&#39;message&#39; => $message]);
    }
}

Dans le code SiteController ci-dessus, l'action say est définie comme la méthode actionSay. Yii utilise le préfixe d'action pour faire la distinction entre les méthodes et opérations ordinaires. Le nom qui suit le préfixe de l'action est mappé à l'ID de l'action.

Quand il s'agit de nommer des opérations, vous devez comprendre comment Yii gère les ID d'opération. Les ID d'opération sont toujours traités en minuscules. Si un ID d'opération est composé de plusieurs mots, les mots seront reliés par des traits d'union (comme create-comment).

Lorsque l'ID d'opération est mappé au nom de la méthode, les traits d'union sont supprimés, la première lettre de chaque mot est en majuscule et le préfixe d'action est ajouté. Exemple : L'ID d'action create-comment est équivalent au nom de méthode actionCreateComment.

La méthode d'action dans le code ci-dessus accepte un paramètre $message, dont la valeur par défaut est "Bonjour" (tout comme vous définissez la valeur par défaut d'autres fonctions ou méthodes en PHP). Lorsque l'application reçoit la demande et détermine que l'opération Say répondra à la demande, l'application trouvera la valeur correspondante dans les paramètres de la demande et la transmettra.

En d'autres termes, si la requête contient un paramètre de message dont la valeur est "Au revoir", la variable $message dans la méthode d'action sera également remplie avec "Au revoir".

Dans la méthode d'opération, render() est utilisé pour restituer un fichier de vue nommé par exemple. Le paramètre message est également transmis à la vue afin qu'il puisse être utilisé à l'intérieur. La méthode d'action renvoie le résultat du rendu. Les résultats sont reçus par l'application et affichés sur le navigateur de l'utilisateur final (dans le cadre de la page HTML complète).

Création de vues

Les vues sont des scripts que vous utilisez pour générer du contenu de réponse. Pour dire "Bonjour", vous devez créer une vue Say qui affiche le paramètre de message transmis par la méthode d'action.

<?php
use yii\helpers\Html;
?>
<?= Html::encode($message) ?>

disons que les vues doivent être enregistrées en tant que fichier vues/site/say.php. Lorsque la méthode render() est appelée dans une opération, elle chargera le fichier PHP en fonction du chemin vues/ID du contrôleur/nom de la vue.php.

Notez que dans le code ci-dessus, le paramètre de message est traité par la méthode codée en HTML avant la sortie. Cela est nécessaire car lorsque les paramètres proviennent de l’utilisateur final, du code JavaScript malveillant pouvant être caché dans les paramètres peut conduire à des attaques de type cross-site scripting (XSS).

Bien sûr, vous mettrez probablement plus de contenu dans la vue Say. Le contenu peut être constitué de balises HTML, de texte brut ou même d'instructions PHP. En fait, la vue say est un script PHP exécuté par render(). Le contenu généré par le script d'affichage sera renvoyé à l'application comme résultat de la réponse. L'application transmettra à son tour les résultats à l'utilisateur final.

Essayer Exécuter

Après avoir créé l'action et la vue, vous pouvez accéder à la nouvelle page via l'URL suivante :

http://hostname/index.php?r=site/say&message=Hello+World

Comment créer une page de bonjour en utilisant le framework yii

Cette URL affichera une page contenant « Hello World », en utilisant le même en-tête et la même bande-annonce que les autres pages de l'application.

Si vous omettez le paramètre message dans l'URL, vous verrez que la page affiche uniquement "Bonjour". En effet, le message est passé en paramètre à la méthode actionSay() et lorsqu'il est omis, le paramètre par défaut "Hello" sera utilisé à la place.

信息: 新页面和其它页面使用同样的头部和尾部是因为 render() 方法会自动把 say 视图执行的结果嵌入称为布局的文件中, 本例中是 views/layouts/main.php。

Le paramètre r dans l'URL ci-dessus nécessite plus d'explications. Il représente une route, qui est un identifiant indépendant au niveau de l'ensemble de l'application qui pointe vers une opération spécifique. Le format de routage est ID de contrôleur/ID d'opération. Lorsque l'application accepte une demande, elle vérifie les paramètres et utilise l'ID du contrôleur pour déterminer quel contrôleur doit être utilisé pour traiter la demande. Le contrôleur correspondant utilisera ensuite l'ID d'action pour déterminer quelle méthode d'action sera utilisée pour effectuer le travail spécifique.

Dans l'exemple ci-dessus, la route site/say sera résolue vers le contrôleur SiteController et l'opération say qu'il contient. Par conséquent, la méthode SiteController::actionSay() sera appelée pour gérer la requête.

信息: 与操作一样,一个应用中控制器同样有唯一的 ID。 控制器 ID 和操作 ID 使用同样的命名规则。 控制器的类名源自于控制器 ID, 移除了连字符,每个单词首字母大写,并加上 Controller 后缀。 例子:控制器 ID post-comment 相当于控制器类名 PostCommentController

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