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