成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

使用yii框架創(chuàng)建hello頁面的方法-創(chuàng)新互聯(lián)

小編給大家分享一下使用yii框架創(chuàng)建hello頁面的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

站在用戶的角度思考問題,與客戶深入溝通,找到南開網站設計與南開網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網站設計制作、成都網站設計、企業(yè)官網、英文網站、手機端網站、網站推廣、域名注冊、網頁空間、企業(yè)郵箱。業(yè)務覆蓋南開地區(qū)。

本章描述了如何在你的應用中創(chuàng)建一個新的 “Hello” 頁面。為了實現(xiàn)這一目標, 將會創(chuàng)建一個操作 和一個視圖:


應用將會分派頁面請求給動作 

動作將會依次渲染視圖呈現(xiàn) “Hello” 給最終用戶

貫穿整個章節(jié),你將會掌握三件事:

如何創(chuàng)建一個動作去響應請求,

如何創(chuàng)建一個視圖去構造響應內容,

以及一個應用如何分派請求給動作。

創(chuàng)建動作

為了 “Hello”,需要創(chuàng)建一個 say 操作, 從請求中接收 message 參數(shù)并顯示給最終用戶。 如果請求沒有提供 message 參數(shù),操作將顯示默認參數(shù) “Hello”。

信息: 操作是最終用戶可以直接訪問并執(zhí)行的對象。 操作被組織在控制器中。 一個操作的執(zhí)行結果就是最終用戶收到的響應內容。

操作必須聲明在控制器中。為了簡單起見, 你可以直接在 SiteController 控制器里聲明 say 操作。 這個控制器是由文件 controllers/SiteController.php 定義的。以下是一個操作的聲明:

<?php

namespace app\controllers;

use yii\web\Controller;

class SiteController extends Controller
{
    // ...現(xiàn)存的代碼...

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

在上述 SiteController 代碼中,say 操作被定義為 actionSay 方法。 Yii 使用 action 前綴區(qū)分普通方法和操作。 action 前綴后面的名稱被映射為操作的 ID。

涉及到給操作命名時,你應該理解 Yii 如何處理操作 ID。 操作 ID 總是被以小寫處理,如果一個操作 ID 由多個單詞組成, 單詞之間將由連字符連接(如 create-comment)。

操作 ID 映射為方法名時移除了連字符,將每個單詞首字母大寫,并加上 action 前綴。 例子:操作 ID create-comment 相當于方法名 actionCreateComment。

上述代碼中的操作方法接受一個參數(shù) $message, 它的默認值是 “Hello”(就像你設置 PHP 中其它函數(shù)或方法的默認值一樣)。 當應用接收到請求并確定由 say 操作來響應請求時,應用將從請求的參數(shù)中尋找對應值傳入進來。

換句話說,如果請求包含一個 message 參數(shù), 它的值是 “Goodbye”, 操作方法中的 $message 變量也將被填充為 “Goodbye”。

在操作方法中,render() 被用來渲染一個 名為 say 的視圖文件。 message 參數(shù)也被傳入視圖,這樣就可以在里面使用。操作方法會返回渲染結果。 結果會被應用接收并顯示給最終用戶的瀏覽器(作為整頁 HTML 的一部分)。

創(chuàng)建視圖

視圖是你用來生成響應內容的腳本。為了說 “Hello”, 你需要創(chuàng)建一個 say 視圖,以便顯示從操作方法中傳來的 message 參數(shù)。

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

say 視圖應該存為 views/site/say.php 文件。當一個操作中調用了 render() 方法時, 它將會按 views/控制器 ID/視圖名.php 路徑加載 PHP 文件。

注意以上代碼,message 參數(shù)在輸出之前被 HTML-encoded 方法處理過。 這很有必要,當參數(shù)來自于最終用戶時,參數(shù)中可能隱含的惡意 JavaScript 代碼會導致 跨站腳本(XSS)攻擊。

當然了,你大概會在 say 視圖里放入更多內容。內容可以由 HTML 標簽,純文本, 甚至 PHP 語句組成。實際上 say 視圖就是一個由 render() 執(zhí)行的 PHP 腳本。 視圖腳本輸出的內容將會作為響應結果返回給應用。應用將依次輸出結果給最終用戶。

試運行

創(chuàng)建完動作和視圖后,你就可以通過下面的 URL 訪問新頁面了:

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

使用yii框架創(chuàng)建hello頁面的方法

這個 URL 將會輸出包含 “Hello World” 的頁面,頁面和應用里的其它頁面使用同樣的頭部和尾部。

如果你省略 URL 中的 message 參數(shù),將會看到頁面只顯示 “Hello”。 這是因為 message 被作為一個參數(shù)傳給 actionSay() 方法,當省略它時,參數(shù)將使用默認的 “Hello” 代替。

信息: 新頁面和其它頁面使用同樣的頭部和尾部是因為 render() 方法會自動把 say 視圖執(zhí)行的結果嵌入稱為布局的文件中, 本例中是 views/layouts/main.php。

上面 URL 中的參數(shù) r 需要更多解釋。 它代表路由,是整個應用級的, 指向特定操作的獨立 ID。路由格式是 控制器 ID/操作 ID。應用接受請求的時候會檢查參數(shù), 使用控制器 ID 去確定哪個控制器應該被用來處理請求。 然后相應控制器將使用操作 ID 去確定哪個操作方法將被用來做具體工作。

上述例子中,路由 site/say 將被解析至 SiteController 控制器和其中的 say 操作。 因此 SiteController::actionSay() 方法將被調用處理請求。

信息: 與操作一樣,一個應用中控制器同樣有的 ID。 控制器 ID 和操作 ID 使用同樣的命名規(guī)則。 控制器的類名源自于控制器 ID, 移除了連字符,每個單詞首字母大寫,并加上 Controller 后綴。 例子:控制器 ID post-comment 相當于控制器類名 PostCommentController

以上是“使用yii框架創(chuàng)建hello頁面的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網頁名稱:使用yii框架創(chuàng)建hello頁面的方法-創(chuàng)新互聯(lián)
文章路徑:http://jinyejixie.com/article42/dphghc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站改版、網站制作、網站內鏈、網站設計軟件開發(fā)、營銷型網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網站優(yōu)化排名
体育| 丰城市| 沧源| 清涧县| 新野县| 偃师市| 上高县| 额济纳旗| 三台县| 偃师市| 宿州市| 安吉县| 逊克县| 称多县| 加查县| 天长市| 从江县| 长兴县| 纳雍县| 包头市| 正阳县| 凤翔县| 鄂托克旗| 巫山县| 莎车县| 嫩江县| 信阳市| 哈密市| 临夏市| 精河县| 理塘县| 门源| 井陉县| 天祝| 收藏| 博野县| 沙河市| 黔南| 班戈县| 商丘市| 和田市|