Yii中render和renderPartial的区别_php技巧
以下由我们在信易网络公司开发项目的时候终结出的一些经验
在进行页面输出渲染的时候。
1.render 输出父模板的内容,将渲染的内容,嵌入父模板。|
2.renderPartial 则不输出父模板的内容。只对本次渲染的局部内容,进行输出。
同时还有个重要的区别:
render 函数内部默认执行processOutput($output)函数, 会将把组件,比如 CTreeView 里面注册到 CClientScript 里面的
需要的脚本进行渲染输出。
而renderPartial() 默认不自动渲染输出客户端脚本,需要进行参数的指定,才会输出:
renderPartial($view,$data=null,$return=false,$processOutput=false)
指定processOutput 为 true 即可。
比如要局部输出 CTreeView ,用renderPartial 进行渲染,如果按照默认processOutput=false 则输出内容,不含有客户端脚本
输出内容则为 正常的 ul 列表。没有树形的折叠效果。 主动设定 processOutput=true 后,CTreeView 所需的,所有客户端脚本就会被正常输出在列表的前面。
下面介绍下要用到的几个相关的函数:
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; }
以上在实际操作中还是比较有用的,比如你不想用大组建,可以直接将变量输到模板,也可以将多个变量组成数组输到模版里面去.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Penyelesaian teknikal: Mula-mula tulis komponen kotak lungsur Pertama, kami mula-mula menulis komponen untuk memaparkan kandungan kotak lungsur. Nama komponen bermula dengan: Select.vue Welfare Mall Saas Platform Activity Disesuaikan Komponen Rendering Kami ingin memaparkan komponen ini pada halaman web Operasi harus seperti ini: apabila tetikus bergerak ke perkhidmatan produk, tunjukkan kotak drop-down komponen sebagai contoh komponen di lokasi yang sesuai pada halaman. Dalam vue3, memberikan Vonde, logik teras adalah seperti berikut: import{createVNode,h,render,VNode}from'vue'importcomponentfrom"./component.

Dunia mata wang kripto sentiasa berubah-ubah, dengan token baharu menarik perhatian pelabur berpengalaman yang mencari peluang besar seterusnya.

Render bermaksud pemaparan dan merupakan istilah lukisan ialah proses terakhir CG, dan ia juga merupakan peringkat yang akhirnya menjadikan imej itu sesuai dengan pemandangan 3D dipanggil Render dalam bahasa Inggeris, dan sesetengah orang akan memanggilnya teduhan, tetapi umumnya Shade dipanggil Untuk teduhan, Render dipanggil rendering.

Dengan Skyline, HMD Global bersedia untuk memperkenalkan telefon pintar kelas pertengahan dalam gaya Nokia Lumia 920 pada 10 Julai. Menurut maklumat terkini daripada pembocor @smashx_60, reka bentuk Lumia tidak lama lagi akan turut digunakan untuk sebuah tablet, yang akan menjadi c

Render Coin: Peluang pelaburan yang layak untuk memegang Render Coin jangka panjang ialah mata wang kripto berdasarkan blockchain Ethereum dan direka bentuk untuk membayar perkhidmatan rendering pada rangkaian rendering terdesentralisasi Render. Matlamatnya adalah untuk menangani kos tinggi dan ketidakcekapan penyelesaian rendering tradisional dan menyediakan artis dan pencipta pilihan rendering yang berpatutan dan mudah. Kelebihan syiling Render ialah desentralisasi: Syiling Render adalah berdasarkan blok blok Ethereum dan mempunyai ciri terdesentralisasi, mengelakkan satu titik kegagalan dan kos tinggi penyedia perkhidmatan rendering terpusat. Kecekapan tinggi: Syiling pemaparan menggunakan teknologi pemaparan yang diedarkan untuk memperuntukkan tugas pemaparan kepada GPU terbiar di seluruh dunia, meningkatkan kecekapan pemaparan. Kos rendah: Render coin mengurangkan kos rendering dengan menghapuskan orang tengah.

Orang yang membeli syiling crypto nama besar seperti Render (RNDR), Mantle (MNT) dan Sei (SEI) kini memasukkan wang ke dalam DTX Exchange (DTX).

Vue.js, sebagai rangka kerja JavaScript yang popular, menyediakan pembangun dengan banyak ciri berguna. Salah satu ciri yang paling penting ialah sistem komponen Vue.js. Vue.js membolehkan kami menulis komponen menggunakan sintaks asli, iaitu HTML, CSS dan JavaScript. Sintaks ini sangat elegan dan ringkas, tetapi dalam beberapa kes ia mungkin tidak cukup fleksibel. Dalam kes ini, menggunakan fungsi render boleh membantu kami mempunyai lebih kawalan ke atas output komponen. Fungsi rendering bukanlah konsep baru;

RENDER telah menjadi arah aliran menaik dengan pantas. Momentum altcoin adalah lembap sebelum paras utama $5.22 ditembusi dan struktur pasaran bertukar menaik.
