做Yii的时候发现凡是带有widget的页面加载速度都不是太理想,感觉是每次页面加载前都会判断widget附带的CSS和JS是否完整地复制到assets文件夹中,但有一个页面慢得实在受不了了,扒了一下源码,发现所有的widget加载资源文件时都用了Yii::app()->getAssetMan
做Yii的时候发现凡是带有widget的页面加载速度都不是太理想,感觉是每次页面加载前都会判断widget附带的CSS和JS是否完整地复制到assets文件夹中,但有一个页面慢得实在受不了了,扒了一下源码,发现所有的widget加载资源文件时都用了Yii::app()->getAssetManager()->publish()这个函数,查了一下手册,是这么定义的:
public string publish(string $path, boolean $hashByName=false, integer $level=-1, boolean $forceCopy=false)
最后一个参数:
whether we should copy the asset file or directory even if it is already published before. This parameter is set true mainly during development stage when the original assets are being constantly changed. The consequence is that the performance is degraded, which is not a concern during development, however. This parameter has been available since version 1.1.2.
大体意思就是是否强制刷新资源文件,即使已经加载了。
又看了一下各种widget插件的定义,都把最后一个参数设置成了YII_DEBUG,也就是说当程序是在调试开发模式时,始终是强制加载的,这样解决方案就出来了,把入口文件中的defined(‘YII_DEBUG’) or define(‘YII_DEBUG’,true);改成defined(‘YII_DEBUG’) or define(‘YII_DEBUG’,false);问题完美解决!
原文地址:[原创]关于Yii使用过多widget导致加载速度慢的解决办法, 感谢原作者分享。

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

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Dreamweaver Mac版
Alat pembangunan web visual

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.