yii分析 Yii 利用Clip片段構建複雜介面

2021-05-22 11:32:10 字數 1715 閱讀 6536

大家都知道yii裡為我們提供了layout效果,我們可以把乙個view嵌入事先設計好的layout。但隨著**設計越來越多變,越來越複雜,光光layout內乙個$content 變數在載入view似乎有時候並不能滿足我們的需求。如果頁面中有好幾個地方需要時時變動呢? 沒關係, yii還為我們提供了clip這個方法,這個其實有點類似與django中的block。

比如現在我們需要構建乙個布局,左邊是主要內容,側邊欄上有個子選單和一段介紹文字,在每個不同的頁面上,子選單和介紹文字都是是不同的。讓我們看看**,這個應該更直接:

this is header and main menu here

<?php

echo

$content

?>

<?php

echo

$this

->

clips

['submenu'

]?>

<?php

echo

$this

->

clips

['desc'

]?>

footer section

在這段**中我們建立了乙個layout,div#left 這裡我們載入了view,而在側邊欄div#left中文名呼叫了2個clip片段。

接下來我們看看view的實現:

hello, this is the view 1

<?php

$this

->

beginclip

('submenu'

)?>

here is the sub menu for view 1

<?php

$this

->

endclip()

?>

<?php

$this

->

beginclip

('desc'

)?>

here is the description for view 1

<?php

$this

->

endclip()

?>

hi, view 2 is here

<?php

$this

->

beginclip

('submenu'

)?>

here is the sub menu for view 2

<?php

$this

->

endclip()

?>

<?php

$this

->

beginclip

('desc'

)?>

here is the description for view 2

<?php

$this

->

endclip()

?>

上面的兩個view中,我們為submenu和desc片段都設定了不同的內容,如果是更複雜的頁面我們還可以繼續新增更多的clip片段。

當然clip也不是非常完美, 和django中的block相比,我們不能為每個clip都設定乙個初始值,這樣我們要在每個view中都給clip賦值,這有點小麻煩:p

yii利用Clip構建介面

yii為我們提供了layout,我們可以把乙個view嵌入設計好的layout。但隨著 設計越來越多變,越來越複雜,只是layout內乙個 content 變數在載入view似乎並不能滿足我們的需求。如果頁面中有好幾個地方需要時時變動呢?沒關係,yii還為我們提供了clip這個方法,這個其實有點類似...

YII 利用Clip構建layout

yii為我們提供了layout,我們可以把乙個view嵌入設計好的layout。但隨著 設計越來越多變,越來越複雜,只是layout內乙個 content 變數在載入view似乎並不能滿足我們的需求。如果頁面中有好幾個地方需要時時變動呢?沒關係,yii還為我們提供了clip這個方法 begincon...

YII框架分析筆記1 YII執行流程

yii整體執行流程直觀,具體由以下步驟 1 程式入口檔案index.php載入yii框架引導程式 bootstrap 檔案yii.php,載入配置檔案以及其他自定義配置。2 yii.php中yii類繼承了yiibase,主要封裝框架的一些通用方法,比如自動載入 建立元件 核心類路徑對映 記錄日誌以及...