この記事の例では、Yii に EClientScript プラグイン拡張機能をインストールして、css ファイルと js ファイルのコード圧縮とマージロード機能を実現する方法を説明します。参考までに皆さんと共有してください。詳細は次のとおりです:
拡張プラグインのダウンロード アドレス、解凍して /protected/vendor/ にコピーします
https://github.com/muayyad-alsadi/yii-EClientScript
メイン設定ファイル設定プラグイン、
//js,css代码压缩,合并 'clientScript' => array( 'class' => 'application.vendor.yii-EClientScript.EClientScript', 'combineScriptFiles' => TRUE, // By default this is set to true, set this to true if you'd like to combine the script files 'combineCssFiles' => TRUE, // By default this is set to true, set this to true if you'd like to combine the css files 'optimizeScriptFiles' => !YII_DEBUG, // @since: 1.1 'optimizeCssFiles' => !YII_DEBUG, // @since: 1.1 'optimizeInlineScript' => false, // @since: 1.6, This may case response slower 'optimizeInlineCss' => false, // @since: 1.6, This may case response slower ),
ツールクラス Unit.php をコンポーネントに追加し、/protected/vendor/components に配置します。ロードメソッドはクラス
/** * 注册JS 文件 */ public function jsFile($file,$position=CClientScript::POS_HEAD,$media=array()){ $cs=Yii::app()->getClientScript(); $cs->registerScriptFile($file,$position,$media); } /** *注册CSS文件 */ public function cssFile($file,$media=''){ Yii::app()->getClientScript()->registerCssFile($file,$media); }
で css ファイルを呼び出し、 js ファイル
<?php //注册CSS文件, Unit::cssFile('/css/home/base.css'); //result to:<link rel="stylesheet" type="text/css" href="/css/home/base.css" /> //IE6下加载CSS文件 Unit::cssFile('/css/form.css','lte IE 6'); //result to:<!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="/css/form.css" /><![endif]--> //注册JS文件, Unit::jsFile('/js/jquery.lazyload.js'); //result to:<script src="/js/jquery.lazyload.js"> //IE9下加载JS文件 Unit::jsFile('/js/common.js', CClientScript::POS_HEAD, array('media' => 'lt IE 9')); //result to:<--[if lt IE 9]><script src="/js/common.js"><![endif]--> ?>
この記事の説明が、Yii フレームワークに基づいた PHP の使用に役立つことを願っています。
Yii による EClientScript プラグイン拡張機能のインストールによる CSS および JS ファイル コードの圧縮と読み込み機能のマージに関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。