Yii - Créer une page

Maintenant, nous allons créer un “Hello world”page dans votre application. Pour créer une page, nous devons créer une action et une vue.

Les actions sont déclarées dans les contrôleurs. L'utilisateur final recevra le résultat de l'exécution d'une action.

Step 1 - Déclarez l'action de parole dans l'existant SiteController, qui est défini dans les contrôleurs de fichiers de classe /SiteController.php.

<?php 
   namespace app\controllers; 
   use Yii; 
   use yii\filters\AccessControl; 
   use yii\web\Controller; 
   use yii\filters\VerbFilter; 
   use app\models\LoginForm; 
   use app\models\ContactForm; 
   class SiteController extends Controller { 
      /* other code */ 
      public function actionSpeak($message = "default message") { return $this->render("speak",['message' => $message]); 
      } 
   } 
?>

Nous avons défini l'action de parole comme une méthode appelée actionSpeak. Dans Yii, toutes les méthodes d'action sont précédées du mot action. C'est ainsi que le cadre différencie les méthodes d'action des méthodes sans action. Si un ID d'action nécessite plusieurs mots, ils seront concaténés par des tirets. Par conséquent, l'add-post d'ID d'action correspond à la méthode d'actionactionAddPost.

Dans le code ci-dessus, le ‘out’ fonction prend un paramètre GET, $message. Nous appelons également une méthode nommée‘render’pour rendre un fichier de vue appelé speak. Nous transmettons le paramètre de message à la vue. Le résultat du rendu est une page HTML complète.

Viewest un script qui génère le contenu d'une réponse. Pour l'action de parole, nous créons une vue de parole qui imprime notre message. Lorsque la méthode de rendu est appelée, elle recherche un nom de fichier PHP commeview/controllerID/vewName.php.

Step 2 - Par conséquent, dans le dossier views / site, créez un fichier appelé speak.php avec le code suivant.

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

Notez que nous encodons en HTML le paramètre de message avant l'impression pour éviter XSS attaque.

Step 3 - Tapez ce qui suit dans votre navigateur Web http://localhost:8080/index.php?r=site/speak&message=hello%20world.

Vous verrez la fenêtre suivante -

le ‘r’Le paramètre dans l'URL signifie route. Le format par défaut de l'itinéraire estcontrollerID/actionID. Dans notre cas, l'itinéraire site / parler sera résolu par leSiteController classe et l'action de parole.