本章描述如何在你的應用程式中建立一個新的 「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 = 'Hello') { return $this->render('say', ['message' => $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
信息: 新页面和其它页面使用同样的头部和尾部是因为 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中文網其他相關文章!

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

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

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

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

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

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

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

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


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

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

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

Atom編輯器mac版下載
最受歡迎的的開源編輯器

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

Dreamweaver CS6
視覺化網頁開發工具