大家都知道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,主要封裝框架的一些通用方法,比如自動載入 建立元件 核心類路徑對映 記錄日誌以及...