程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> 關於Yii framework的assets的認識

關於Yii framework的assets的認識

編輯:PHP基礎知識
 

assets的作用是將模塊的一些私有文件(如CSS,javascript,image等)發布到一個web能訪問到的目錄下,讓用戶可以通過url進行訪問,又保持模塊的整體的獨立。

假設網站有模塊admin
module,需要用到的資源放在modules/admin/assets中,為了能夠訪問,現在把私有資源publish到公共目錄下
網站目錄/assets。Yii
framework會自動在網站目錄的/assets下創建一個隨機不沖突的文件夾,並把modules/admin/assets目錄下的文件拷貝過去。

具體實現修改protected\modules\admin\AdminModule.php文件

<?php
class AdminModule extends CWebModule
{
private $_assetsUrl;

public function getAssetsUrl()
{
if($this->_assetsUrl===null)
$this->_assetsUrl = Yii::app() -> getAssetManager() -> publish( Yii::getPathOfAlias( 'application.modules.admin.assets' ));
return $this->_assetsUrl;
}

public function setAssetsUrl($value)
{
$this->_assetsUrl=$value;
}
}

在layout或視圖中使用$this->module->assetsUrl得到其位置地址,如要得到css文件時
<link rel="stylesheet" type="text/css" href="<?php echo $this->module->assetsUrl; ?>/css/style.css"/>

在開發時,為了得到實時的效果,需要強制更新assets,將publish方法的第四個參數設為true即可
Yii::app()->getAssetManager()->publish($assetPath, false, -1, true);

詳細請自行查閱手冊關於CAssetManager類及其方法的說明介紹

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved