首頁 php框架 YII 怎麼使用yii框架建立hello頁面

怎麼使用yii框架建立hello頁面

Nov 26, 2019 pm 02:44 PM
yii

怎麼使用yii框架建立hello頁面

本章描述如何在你的應用程式中建立一個新的 「Hello」 頁面。為了實現這一目標,將建立一個操作和一個視圖:

應用將會分派頁面請求給動作     ( 推薦學習:yii教學

動作將會依序渲染視圖呈現「Hello」 給最終使用者

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

##如何建立一個動作去回應請求,

如何建立一個視圖去建構回應內容,

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

建立動作

為了 “Hello”,需要建立一個 say 操作, 從請求中接收 message 參數並顯示給最終使用者。如果請求沒有提供 message 參數,操作將顯示預設參數 “Hello”。

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

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

<?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]);
    }
}
登入後複製

在上述 SiteController 程式碼中,say 操作被定義為 actionSay 方法。 Yii 使用 action 前綴區分普通方法和操作。 action 前綴後面的名稱被對應為操作的 ID。

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

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

上述程式碼中的操作方法接受一個參數 $message, 它的預設值是「Hello」(就像你設定 PHP 中其它函數或方法的預設值一樣)。當應用程式接收到請求並確定由 say 操作來回應請求時,應用程式將從請求的參數中尋找對應值傳入進來。 

換句話說,如果請求包含一個 message 參數, 它的值是 “Goodbye”, 操作方法中的 $message 變數也會被填入 “Goodbye”。

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

建立檢視

檢視是你用來產生回應內容的腳本。為了說 “Hello”, 你需要建立一個 say 視圖,以便顯示從操作方法傳來的 message 參數。

<?php
use yii\helpers\Html;
?>
<?= Html::encode($message) ?>
登入後複製

say 視圖應該儲存為 views/site/say.php 檔案。當一個操作中呼叫了 render() 方法時, 它將會按 views/控制器 ID/視圖名稱.php 路徑載入 PHP 檔案。

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

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

試運行

建立完動作和檢視後,你就可以透過下面的URL 存取新頁面了:

http://hostname/index.php?r=site/say&message=Hello+World
登入後複製

怎麼使用yii框架建立hello頁面

這個URL 將會輸出包含「Hello World」 的頁面,頁面和應用程式裡的其它頁面使用同樣的頭部和尾部。

如果你省略 URL 中的 message 參數,你將會看到頁面只顯示 「Hello」。這是因為 message 被當作一個參數傳給 actionSay() 方法,省略它時,參數會使用預設的 「Hello」 來取代。

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

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

上述範例中,路由 site/say 將會解析至 SiteController 控制器與其中的 say 作業。因此 SiteController::actionSay() 方法將被呼叫處理請求。

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

以上是怎麼使用yii框架建立hello頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1672
14
CakePHP 教程
1428
52
Laravel 教程
1332
25
PHP教程
1276
29
C# 教程
1256
24
Yii2 vs Phalcon:哪個框架更適合開發顯示卡渲染應用? Yii2 vs Phalcon:哪個框架更適合開發顯示卡渲染應用? Jun 19, 2023 am 08:09 AM

在當前資訊時代,大數據、人工智慧、雲端運算等技術已成為了各大企業關注的熱點。在這些技術中,顯示卡渲染技術作為一種高效能圖形處理技術,受到了越來越多的關注。顯示卡渲染技術廣泛應用於遊戲開發、影視特效、工程建模等領域。而對於開發者來說,選擇一個適合自己專案的框架,是一個非常重要的決策。在目前的語言中,PHP是一種相當有活力的語言,一些優秀的PHP框架如Yii2、Ph

如何使用PHP框架Yii開發一個高可用的雲端備份系統 如何使用PHP框架Yii開發一個高可用的雲端備份系統 Jun 27, 2023 am 09:04 AM

隨著雲端運算技術的不斷發展,資料的備份已經成為了每個企業必須要做的事情。在這樣的背景下,開發一款高可用的雲端備份系統尤其重要。而PHP框架Yii是一款功能強大的框架,可以幫助開發者快速建立高效能的Web應用程式。以下將介紹如何使用Yii框架開發一款高可用的雲端備份系統。設計資料庫模型在Yii框架中,資料庫模型是非常重要的一環。因為資料備份系統需要用到很多的表和關

php如何使用Yii3框架? php如何使用Yii3框架? May 31, 2023 pm 10:42 PM

隨著互聯網的不斷發展,Web應用程式開發的需求也越來越高。對於開發人員而言,開發應用程式需要一個穩定、高效、強大的框架,這樣可以提高開發效率。 Yii是一款領先的高效能PHP框架,它提供了豐富的特性和良好的性能。 Yii3是Yii框架的下一代版本,它在Yii2的基礎上進一步優化了效能和程式碼品質。在這篇文章中,我們將介紹如何使用Yii3框架來開發PHP應用程式。

Yii框架中的資料查詢:有效率地存取數據 Yii框架中的資料查詢:有效率地存取數據 Jun 21, 2023 am 11:22 AM

Yii框架是一個開源的PHPWeb應用程式框架,提供了眾多的工具和元件,簡化了Web應用程式開發的流程,其中資料查詢是其中一個重要的元件之一。在Yii框架中,我們可以使用類似SQL的語法來存取資料庫,從而有效率地查詢和操作資料。 Yii框架的查詢建構器主要包括以下幾種類型:ActiveRecord查詢、QueryBuilder查詢、命令查詢和原始SQL查詢

Symfony vs Yii2:哪個框架比較適合開發大型Web應用? Symfony vs Yii2:哪個框架比較適合開發大型Web應用? Jun 19, 2023 am 10:57 AM

隨著Web應用需求的不斷增長,開發者在選擇開發框架方面也越來越有選擇的空間。 Symfony和Yii2是兩個備受歡迎的PHP框架,它們都具有強大的功能和效能,但在面對需要開發大型網路應用程式時,哪個框架更適合呢?接下來我們將對Symphony和Yii2進行比較分析,以幫助你更好地進行選擇。基本概述Symphony是一個由PHP編寫的開源Web應用框架,它是建立

Yii2程式設計指南:執行Cron服務的方法 Yii2程式設計指南:執行Cron服務的方法 Sep 01, 2023 pm 11:21 PM

如果您問「Yii是什麼?」請參閱我之前的教學:Yii框架簡介,其中回顧了Yii的優點,並概述了2014年10月發布的Yii2.0的新增功能。嗯>在這個使用Yii2程式設計系列中,我將指導讀者使用Yii2PHP框架。在今天的教學中,我將與您分享如何利用Yii的控制台功能來執行cron作業。過去,我在cron作業中使用了wget—可透過Web存取的URL來執行我的後台任務。這引發了安全性問題並存在一些效能問題。雖然我在我們的啟動系列安全性專題中討論了一些減輕風險的方法,但我曾希望過渡到控制台驅動的命令

Yii2 vs Symfony:哪個框架比較適合API開發? Yii2 vs Symfony:哪個框架比較適合API開發? Jun 18, 2023 pm 11:00 PM

隨著網路的快速發展,API成為了各種應用間資料交換的重要方式。因此,開發一款易於維護、高效、穩定的API框架變得越來越重要。而在選擇API框架時,Yii2和Symfony是兩個備受開發者歡迎的選擇。那麼,哪一個比較適合API開發呢?本文將對這兩個框架進行比較,並給出一些結論。一、基本介紹Yii2和Symfony都是成熟的PHP框架,都有相應的擴展,可以用來開

yii與Docker:容器化和部署您的應用程序 yii與Docker:容器化和部署您的應用程序 Apr 02, 2025 pm 02:13 PM

使用Docker容器化和部署Yii應用的步驟包括:1.創建Dockerfile,定義鏡像構建過程;2.使用DockerCompose啟動Yii應用和MySQL數據庫;3.優化鏡像大小和性能。這不僅涉及到具體的技術操作,還包括理解Dockerfile的工作原理和最佳實踐,以確保高效、可靠的部署。

See all articles