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

怎麼使用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
Yii的繼續使用:檢查其當前狀態Yii的繼續使用:檢查其當前狀態Apr 17, 2025 am 12:09 AM

Yii在現代開發中依然具有競爭力。 1)高性能:採用延遲加載和緩存機制。 2)安全性:內置CSRF和SQL注入防護。 3)擴展性:組件化設計便於擴展和自定義。

YII的社區:支持和資源YII的社區:支持和資源Apr 16, 2025 am 12:04 AM

Yii社區提供了豐富的支持和資源。 1.訪問官方網站和GitHub獲取文檔和代碼。 2.利用官方論壇和StackOverflow解決技術問題。 3.通過GitHubIssues報告bug和提出建議。 4.使用文檔和教程學習Yii框架。

YII:網絡開發的強大框架YII:網絡開發的強大框架Apr 15, 2025 am 12:09 AM

Yii是一個高性能的PHP框架,專為快速開發和高效的代碼生成設計。其核心特性包括:MVC架構:Yii採用MVC架構,幫助開發者將應用邏輯分離,使代碼更易維護和擴展。組件化和代碼生成:通過組件化和代碼生成,Yii減少開發者的重複工作,提高開發效率。性能優化:Yii使用延遲加載和緩存技術,確保高負載下的高效運行,並提供強大的ORM功能簡化數據庫操作。

YII:快速開發框架YII:快速開發框架Apr 14, 2025 am 12:09 AM

Yii是一個基於PHP的高性能框架,適用於快速開發Web應用。 1)它採用MVC架構和組件化設計,簡化開發過程。 2)Yii提供了豐富的功能,如ActiveRecord、RESTfulAPI等,支持高並發和擴展。 3)使用Gii工具可以快速生成CRUD代碼,提高開發效率。 4)調試時,可檢查配置文件、使用調試工具和查看日誌。 5)性能優化建議包括使用緩存、優化數據庫查詢和保持代碼可讀性。

YII的當前狀態:查看其受歡迎程度YII的當前狀態:查看其受歡迎程度Apr 13, 2025 am 12:19 AM

yiiremainspularbutislessfavoredthanlaravel,withabout14kgithubstars.itexcelsinperformanceandactiverecord,buthasasteperlearningcurveandasmallerecosystem.it'sidealfordealfordealfordEvelforkerfordEvelforkerplovelfordEvelforkerporporporporporporporporizatized efferporization effervastecoseposevastecosystecystemystem。

yii:解釋的關鍵特徵和優勢yii:解釋的關鍵特徵和優勢Apr 12, 2025 am 12:15 AM

Yii是一個高性能的PHP框架,其獨特之處在於組件化架構、強大的ORM和出色的安全性。 1.組件化架構讓開發者能靈活拼裝功能。 2.強大的ORM簡化了數據操作。 3.內置多種安全功能,確保應用安全。

Yii的架構:MVC等Yii的架構:MVC等Apr 11, 2025 pm 02:41 PM

Yii框架採用MVC架構,並通過組件、模塊等增強其靈活性和擴展性。 1)MVC模式將應用邏輯分為模型、視圖和控制器。 2)Yii的MVC實現通過動作細化請求處理。 3)Yii支持模塊化開發,提升代碼組織和管理。 4)使用緩存和數據庫查詢優化可提升性能。

YII 2.0深水潛水:性能調整與優化YII 2.0深水潛水:性能調整與優化Apr 10, 2025 am 09:43 AM

提升Yii2.0应用性能的策略包括:1.数据库查询优化,使用QueryBuilder和ActiveRecord选择特定字段和限制结果集;2.缓存策略,合理使用数据、查询和页面缓存;3.代码级优化,减少对象创建和使用高效算法。通过这些方法,可以显著提升Yii2.0应用的性能。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具