Yii入門教程之目錄結構 入口檔案及路由設定

2021-07-25 04:14:32 字數 2527 閱讀 4445

1,專案目錄結構分析

2,yii入口檔案分析

yii系統把配置檔案中的陣列值,通過鍵值對的形式繫結到了該物件上,例如在配置檔案中我們配置了:

那麼我們在專案的任何乙個地方通過該物件的屬性就可以獲取到「name」的值,方法為:

3,yii路由設定

同時應該知道:對於控制器名,yii首先會檢測當前的控制器名是否是乙個「模組名」,如果是模組名則先定位到模組。

「模組」會在後面搭建專案的時候解釋。

通過上面的路由訪問到的就是:sitecontroller.php類檔案下的sitecontroller類中的actionindex方法

控制器檔案位於:protected/controllers 目錄下,也就是我們的控制器檔案存放目錄

注意yii中控制器檔案和動作方法名的書寫方式,控制器有統一的字尾」controller「,動作方法也有統一的字首」action「,同時要求動作方法名的命名規範符合」除第乙個單詞外其它每個單詞的首字母要大寫「

由於yii預設的控制器名為:site

預設的動作名為:index

因此上述通過指定控制器名動作名訪問的路徑和直接訪問:http://localhost/testyii/   的效果是一致的

4,檢視呼叫

在動作方法中,呼叫:$this->render('index');

來為對應的動作方法指定視**件,視**件位於:protected/views/site  目錄下

其中:site為對應的控制器名資料夾,每個控制器名在檢視中都應該具有乙個唯一的資料夾名與其相對應

然後在動作方法中通過『index'來指定顯示的具體視**件是site控制器下的指定的『index.php'視**件

另外還需要注意:

呼叫檢視的方法有兩個:

$this->render                            ----> 會呼叫模板檔案

和$this->renderpartial                   -----> 不會呼叫模板檔案

它們之間的區別,也如上所述。

5,檢視模板設定

開啟sitecontroller.php檔案,其中的**截圖如下:

我們發現:yii應用中,每個控制器都要繼承自公共控制器「controller」

然後開啟「controller」控制器檔案:controller.php,它位於:protected/components  目錄下

「controller」控制器**截圖如下:

yii通過:public $layout='//layouts/column1'; 來指定動作方法的公共模板檔案

公共模板檔案位於:protected/views/layouts 目錄下,如下圖:

現在我們來建立我們的模板檔案:testlayout.php,**如下:

其中」<?php echo $content; ?>「為yii中規定的模板檔案中的內容替換方法

然後,修改 」controller「控制器中的模板檔案為:public $layout='//layouts/testlayout';

然後訪問:http://localhost/testyii/index.php?r=site/index    結果如圖:

然後我們發現,模板檔案已經變成我們自己指定的了,然後假如你不需要視**件渲染模板檔案,那麼你可以在動作方法中呼叫視**件的時候使用:$this->renderpartial  方法

或者你整個專案都不需要呼叫模板檔案,那麼你可以在動作方法中呼叫視**件時全部用:$this->renderpartial 

也或者將檢視模板檔案設定為」空「,例如:public $layout='';

Yii入門教程之目錄結構 入口檔案及路由設定

專案名稱從 fantacms 修改程式設計客棧成為 testyii 俗!1,專案目錄結構分析 2,yii入口檔案分析 在yii啟動專案時,傳遞了專案主配置檔案陣列,那麼yii會在整個應用中繫結乙個全域性的yii物件並且可以通過如下方法來呼叫該物件 yii app yii系統把配置檔案中的陣列值,通過...

Phalcon入門教程之目錄結構

原文發表於 phalcon入門教程之目錄結構很多初學phalcon的朋友,對於以phalcon框架為基礎構建的專案,應該如何組織目錄結構有點摸不著頭腦。比如多模組的專案中,如何共用 libs 類庫和 models 目錄中模型類的情況,就有很多剛接觸phalcon朋友經常在群裡問這種問題。我們在翻閱p...

Phalcon入門教程之目錄結構

原文發表於 phalcon入門教程之目錄結構 很多初學phalcon的朋友,對於以phalcon框架為基礎構建的專案,應該如何組織目錄結構有點摸不著頭腦。比如多模組的專案中,如何共用 libs 類庫和 models 目錄中模型類的情況,就有很多剛接觸phalcon朋友經常在群裡問這種問題。我們在翻閱...