最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Yii中render和renderPartial的區(qū)別

 更新時間:2014年09月03日 11:25:25   投稿:mdxy-dxy  
這篇文章主要介紹了Yii中render和renderPartial的區(qū)別,以下由我們在信易網(wǎng)絡(luò)公司開發(fā)項目的時候終結(jié)出的一些經(jīng)驗

以下由我們在信易網(wǎng)絡(luò)公司開發(fā)項目的時候終結(jié)出的一些經(jīng)驗
在進行頁面輸出渲染的時候。

1.render 輸出父模板的內(nèi)容,將渲染的內(nèi)容,嵌入父模板。|
2.renderPartial 則不輸出父模板的內(nèi)容。只對本次渲染的局部內(nèi)容,進行輸出。

同時還有個重要的區(qū)別:

render 函數(shù)內(nèi)部默認執(zhí)行processOutput($output)函數(shù), 會將把組件,比如 CTreeView 里面注冊到 CClientScript 里面的
需要的腳本進行渲染輸出。

而renderPartial() 默認不自動渲染輸出客戶端腳本,需要進行參數(shù)的指定,才會輸出:
renderPartial($view,$data=null,$return=false,$processOutput=false)
指定processOutput 為 true 即可。

比如要局部輸出 CTreeView ,用renderPartial 進行渲染,如果按照默認processOutput=false 則輸出內(nèi)容,不含有客戶端腳本
輸出內(nèi)容則為 正常的 ul 列表。沒有樹形的折疊效果。 主動設(shè)定 processOutput=true 后,CTreeView 所需的,所有客戶端腳本就會被正常輸出在列表的前面。

下面介紹下要用到的幾個相關(guān)的函數(shù):

render,renderPartial 不再介紹
processOutput()

<?php
publicfunction render($view,$data=null,$return=false)
{
  if($this->beforeRender($view))
  {
    $output=$this->renderPartial($view,$data,true);
    if(($layoutFile=$this->getLayoutFile($this->layout))!==false)
      $output=$this->renderFile($layoutFile,array('content'=>$output),true);
    $this->afterRender($view,$output);
    $output=$this->processOutput($output);
    if($return)
      return $output;
    else
      echo $output;
  }
}
publicfunction renderPartial($view,$data=null,$return=false,$processOutput=false)
{
  if(($viewFile=$this->getViewFile($view))!==false)
  {
    $output=$this->renderFile($viewFile,$data,true);
    if($processOutput)
      $output=$this->processOutput($output);
    if($return)
      return $output;
    else
      echo $output;
  }
  else
    thrownewCException(Yii::t('yii','{controller} cannot find the requested view "{view}".',
      array('{controller}'=>get_class($this),'{view}'=>$view)));
}
publicfunction processOutput($output)
{
  Yii::app()->getClientScript()->render($output);
  // if using page caching, we should delay dynamic output replacement
  if($this->_dynamicOutput!==null&& $this->isCachingStackEmpty())
  {
    $output=$this->processDynamicOutput($output);
    $this->_dynamicOutput=null;
  }
  if($this->_pageStates===null)
    $this->_pageStates=$this->loadPageStates();
  if(!empty($this->_pageStates))
    $this->savePageStates($this->_pageStates,$output);
  return $output;
}

以上在實際操作中還是比較有用的,比如你不想用大組建,可以直接將變量輸?shù)侥0?也可以將多個變量組成數(shù)組輸?shù)侥0胬锩嫒?

相關(guān)文章

  • 根據(jù)key刪除數(shù)組中指定的元素實現(xiàn)方法

    根據(jù)key刪除數(shù)組中指定的元素實現(xiàn)方法

    下面小編就為大家?guī)硪黄鶕?jù)key刪除數(shù)組中指定的元素實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 分享下php5類中三種數(shù)據(jù)類型的區(qū)別

    分享下php5類中三種數(shù)據(jù)類型的區(qū)別

    這篇文章主要介紹了php5類中三種數(shù)據(jù)類型的區(qū)別,需要的朋友可以參考下
    2015-01-01
  • PHP+MYSQL會員系統(tǒng)的開發(fā)實例教程

    PHP+MYSQL會員系統(tǒng)的開發(fā)實例教程

    這篇文章主要介紹了PHP+MYSQL會員系統(tǒng)的開發(fā)實例教程,通過一個完整的會員系統(tǒng)開發(fā),進一步加深對PHP+MySQL程序設(shè)計流程的認識,需要的朋友可以參考下
    2014-08-08
  • PHP中使用CURL偽造來路抓取頁面或文件

    PHP中使用CURL偽造來路抓取頁面或文件

    這個是用 PHP 偽造來路, 抓取文件或頁面的代碼, 挺簡單的.
    2011-05-05
  • 使用GD庫生成帶陰影文字的圖片

    使用GD庫生成帶陰影文字的圖片

    這篇文章主要介紹了使用GD庫生成帶陰影文字的圖片的方法,非常的細致,推薦給大家,需要的朋友可以參考下
    2015-03-03
  • php+mysql大量用戶登錄解決方案分析

    php+mysql大量用戶登錄解決方案分析

    這篇文章主要介紹了php+mysql大量用戶登錄解決方案,較為詳細的分析了大量用戶登錄時負載過大的解決方案,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • 解析PHP觀察者模式Observer

    解析PHP觀察者模式Observer

    Observer,首先要有一個被觀察的角色,但它是【唯一的】。雖然"表演者"只有一個但是"觀眾"有很多,既一群"人"圍觀一個"人"。既然有無數(shù)個觀察者,那么我們需要知道都有哪一些"人"。所以我們需要一個“容器”來記錄這些"人",一個類似于數(shù)組一樣來儲存所有觀察者的容器。
    2021-05-05
  • 同臺服務(wù)器使用緩存APC效率高于Memcached的演示代碼

    同臺服務(wù)器使用緩存APC效率高于Memcached的演示代碼

    之前看到有文章說同臺服務(wù)器上APC的效率是Memcached的7倍,APC效率比Memcached高是肯定的,至于倒底快多少,我寫了個小程序測試了下。
    2010-02-02
  • 淺談PHP性能優(yōu)化之php.ini配置

    淺談PHP性能優(yōu)化之php.ini配置

    用于生產(chǎn)環(huán)境中的PHP需要對其進行優(yōu)化,讓PHP自身發(fā)揮更好的性能,除了寫好PHP代碼,還要配置好php.ini。本文從內(nèi)存、文件上傳、會話緩沖輸出、真實路徑緩存這幾個方面講解php.ini的配置調(diào)優(yōu)。
    2021-05-05
  • php中運用http調(diào)用的GET和POST方法示例

    php中運用http調(diào)用的GET和POST方法示例

    調(diào)用的GET和POST方法,使用到的函數(shù)是curl_init, curl_setopt, curl_exec,curl_close,默認是GET方法
    2014-09-09

最新評論

合肥市| 盖州市| 罗山县| 秦皇岛市| 天峻县| 西乌珠穆沁旗| 龙里县| 阜平县| 赣榆县| 巴彦县| 拉萨市| 桓台县| 曲阜市| 筠连县| 泰兴市| 临邑县| 彭泽县| 古浪县| 县级市| 定襄县| 万山特区| 吉安市| 汤原县| 佛学| 靖安县| 天门市| 汤阴县| 个旧市| 公主岭市| 常山县| 临沂市| 无锡市| 衢州市| 章丘市| 黑山县| 乌拉特中旗| 太和县| 苍溪县| 铁岭县| 泸州市| 个旧市|