繼上篇yii實戰之初見端倪,本篇將講解控制器和視圖的基礎用法。并構建一個人物列表頁面
默認控制器默認情況下,當瀏覽器請求http://frontend.test/時,實際上訪問的是frontend/controllers/SiteController.php的actionIndex方法,我們在這個方法斷點測試下:
public function actionIndex() { return "你是不是默認的控制器? 如果是,就輸出來"; return $this->render("index"); }
注意:方法名的命名要用action為前綴,且用駝峰法
瀏覽器結果:
默認控制器是由defaultRoute這個屬性控制的,源碼在:yiiwebApplication::$defaultRoute,可以在配置文件中指定自定義的默認控制器
在common/config/main.php新增:
"defaultRoute" => "index",
此時,再訪問主頁,會報404錯誤:
因為我們指定默認控制器為index,卻沒有創建相應的文件,接下來我們用yii的gii組件生成控制器文件。
打開終端,進入根目錄,執行:php yii gii/controller --controllerClass=frontendcontrollersIndexController --viewPath=@frontend/views/index
可以看到,程序自動為我們生成了frontend/controllers/IndexController.php和frontend/views/index/index.php兩個文件
此時,再刷新網頁,就能正常訪問了
查看gii更多用法可以執行:php yii help gii
gii是yii的代碼自動生成工具,可以在web頁面生成,也可以在命令行生成,程序員大多更偏愛于命令行。現在不太清楚用法,也沒關系,先了解有這個功能,后續會多帶帶講解gii構建人物列表頁面 控制器構建數據
在Index控制器中,我們要構建一個簡易的人物列表,效果如下:
控制器將人物列表數據傳送給視圖文件
視圖文件將數據用表格顯示
首先,在frontend/controllers/IndexController.php定義人物數組, 并將數組傳送給視圖
public function actionIndex() { $people = [ ["name" => "曹操", "saying" => "寧教我負天下人,不教天下人負我"], ["name" => "劉備", "saying" => "備若有基業,天下碌碌之輩,誠不足慮也。"], ["name" => "關羽", "saying" => "此等小輩,如同土雞瓦狗,插標賣首爾"], ["name" => "張飛", "saying" => "我乃燕人張翼德,誰敢與我決一死戰"], ]; return $this->render("index", ["people" => $people]); }
render第一個參數為視圖文件名稱,默認路徑為:當前應用/views/控制器名稱/視圖名稱,對應的路徑即為:frontend/views/index/index.php;第二個參數是控制器要傳送給視圖的數據。
視圖渲染數據yii的視圖默認支持bootstrap,因此我們用bootstrap的語法展示數據:
frontend/views/index/index.php
人物 | 名言 |
---|---|
=$v["name"]?> | =$v["saying"]?> |
頁面顯示效果:
小結本節簡單的演示了控制器跟視圖的交互,下節將講解yii自帶的user組件,實現用戶的注冊、登錄、退出功能,敬請關注...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30758.html
摘要:繼控制器與視圖交互,本篇將講解如何自定義全局函數,以及使用自帶的用戶注冊登錄功能全局函數有時候我們希望自定義一些函數,可以在全局中調用,如默認的在頁面上的顯示效果并不好,尤其是多層級數組的情況下,一大坨數據很難分辨。 繼控制器與視圖交互,本篇將講解如何自定義全局函數,以及使用yii自帶的用戶注冊登錄功能 全局函數 有時候我們希望自定義一些函數,可以在全局中調用,如php默認的var_d...
摘要:出于實戰基礎加之自語言的書籍出版以來,幾乎所有的編程書籍都講述了一個的例子作為開始。操作,其實就是一個是動作的意思,也可以描述為我們前面說的響應地址。 作者:白狼 出處:http://www.manks.top/document/yii_first_application.html 本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究...
摘要:為了演示特性的基本使用,我將會帶領大家構建一個簡單的博客管理系統。目前為止,我們借助生成了一系列操作。有好提示實際開發中,后臺管理理應利用協助開發,可快速提高開發效果。 作者:白狼 出處:http://www.manks.top/document/easy_blog_manage_system.html 本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出...
摘要:簡述模塊是中的架構的板塊,主要負責數據的展示,渲染模板文件,展示數據內容。此外在一個視圖中還可以引入多個視圖文件,也是通過方法實現。布局文件的數據默認以顯示,也可以用數據塊的形式渲染到視圖上。必須要確認生成一次,才會正式生成新首頁。 簡述 View模塊是Yii中的MVC架構的V板塊,主要負責數據的展示,渲染模板文件,展示數據內容。 基本概念 MVC在Yii里面有一個Views文件夾,里...
閱讀 2475·2021-11-17 09:33
閱讀 762·2021-11-04 16:13
閱讀 1334·2021-10-14 09:50
閱讀 697·2019-08-30 15:53
閱讀 3664·2019-08-30 14:18
閱讀 3271·2019-08-30 14:14
閱讀 2100·2019-08-30 12:46
閱讀 3185·2019-08-26 14:05