Yii-ページを作成

今、私たちは作成するつもりです “Hello world”アプリケーションのページ。ページを作成するには、アクションとビューを作成する必要があります。

アクションはコントローラーで宣言されます。エンドユーザーは、アクションの実行結果を受け取ります。

Step 1 −既存のスピークアクションを宣言します SiteController、クラスファイルcontrollers /で定義されています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]); 
      } 
   } 
?>

話すアクションをと呼ばれる方法として定義しました actionSpeak。Yiiでは、すべてのアクションメソッドの前にactionという単語が付いています。これが、フレームワークがアクションメソッドを非アクションメソッドから区別する方法です。アクションIDに複数の単語が必要な場合は、ダッシュで連結されます。したがって、アクションIDの追加投稿はアクションメソッドに対応しますactionAddPost

上記のコードでは、 ‘out’ 関数はGETパラメーターを取ります。 $message。また、という名前のメソッドを呼び出します‘render’話すというビューファイルをレンダリングします。メッセージパラメータをビューに渡します。レンダリング結果は完全なHTMLページです。

View応答のコンテンツを生成するスクリプトです。スピークアクションでは、メッセージを出力するスピークビューを作成します。renderメソッドが呼び出されると、次のようなPHPファイル名が検索されます。view/controllerID/vewName.php

Step 2 −したがって、views / siteフォルダー内に、というファイルを作成します。 speak.php 次のコードで。

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

回避するために、印刷する前にメッセージパラメータをHTMLエンコードすることに注意してください XSS 攻撃。

Step 3 −Webブラウザに次のように入力します http://localhost:8080/index.php?r=site/speak&message=hello%20world

次のウィンドウが表示されます-

ザ・ ‘r’URLのパラメータはルートを表します。ルートのデフォルトの形式はcontrollerID/actionID。私たちの場合、ルートサイト/スピークはによって解決されますSiteController クラスと話すアクション。