>  기사  >  PHP 프레임워크  >  Yii에서 자산을 참조하는 방법은 무엇입니까?

Yii에서 자산을 참조하는 방법은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-07-16 10:22:332855검색

Yii 자산 인용 방법: 먼저 사용해야 하는 리소스를 [modules/admin/assets]에 넣은 다음 비공개 리소스를 공개 디렉터리에 게시한 다음 웹사이트 디렉터리의 [/assets] 아래에 임의의 리소스를 만듭니다. 폴더; 마지막에 파일을 복사하면 됩니다.

Yii에서 자산을 참조하는 방법은 무엇입니까?

Yii 자산 참조 방법:

YII 자산을 사용하는 이유

1 자산의 역할은 일반적으로 보안을 위해 URL을 통한 액세스가 허용되지 않습니다. 이유 파일은 보호되지만 모듈을 분리하고 싶기 때문에 게시를 사용해야 합니다. 즉, url

$assets = Yii::getPathOfAlias('ext').'/css'; 
//$baseUrl = Yii::app()->getAssetManager()->publish($assets); 
$baseUrl = Yii::app()->assetManager->publish($assets);  //extensions/css发布到assets的创建一个随机不冲突的文件夹下 
Yii::app()->clientScript->registerCssFile($baseUrl.'/main.css');//引用assets下面的main.css

을 통해 쉽게 액세스할 수 있도록 디렉터리의 파일을 자산에 복사해야 합니다. 모듈을 추가해야 하는 경우 2. 리소스를 참조하고 webroot에서 직접 추가하면 됩니다.

하지만 어디에서나 참조할 수 있고 독립적인 리소스를 가지며 이름 충돌을 피할 수 있는 모듈을 만들어 보세요.

파일 이름이 파일에 동일한 이름을 사용하려고 하는 일부 분산된 응용 프로그램과 충돌하지 않도록 하려면 어떻게 해야 합니까? js, 이미지, CSS에도 마찬가지입니다.

CAssetManager를 통해 Yii::app()->assetManager는 비공개 리소스를 공용 디렉터리 webroot/assets

에 자동으로 게시할 수 있습니다. 관련 학습 권장 사항: yii tutorial

다음은 관리 모듈을 예

1. modules/admin/assets 아래에 필요한 리소스를 배치하세요. modules/admin/assets下。

2、然后通过 CAssetManager,Yii::app()->assetManager能够自动的将私有资源publish到公共目录下,网站目录/assets

3、Yii会自动在网站目录的/assets下创建一个随机不冲突的文件夹,如2b31b42b,并把你的modules/admin/assets目录下的文件拷贝过去。

通过如下代码获得,修改protectedmodulesadminAdminModule.php

2. 그러면 Yii::app()->assetManager는 비공개 리소스를 자동으로 공개 디렉터리인 웹사이트 디렉터리/assets에 게시할 수 있습니다.

3. Yii는 자동으로 비공개 리소스를 공개 디렉터리에 게시합니다. 웹사이트 디렉토리/자산 아래에 2b31b42b와 같은 충돌하지 않는 무작위 폴더를 생성하고 modules/admin/assets 디렉토리에 파일을 복사하세요.

다음 코드를 통해 얻은 protectedmodulesadminAdminModule.php 파일을 수정하고, 🎜
<?php 
class AdminModule extends CWebModule 
{ 
    private $_assetsUrl; 
   
    public function getAssetsUrl() 
    { 
        if($this->_assetsUrl===null) 
            $this->_assetsUrl=Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias(&#39;application.modules.admin.assets&#39;)); 
        return $this->_assetsUrl; 
    } 
   
    public function setAssetsUrl($value) 
    { 
        $this->_assetsUrl=$value; 
    } 
}
🎜그런 다음 /protected/modules/admin/views/layouts/main에서 $this->module->를 사용하세요. php ;assetsUrl은 CSS 및 기타 파일을 호출할 수 있습니다. 🎜
<link rel="stylesheet" type="text/css" href="<?php echo $this->module->assetsUrl; ?>/css/screen.css"/>
🎜사용 전 자산 강제 업데이트🎜
 $baseJsUrl = Yii::app()->getAssetManager()->publish($baseJsPath, false, -1, YII_DEBUG);

위 내용은 Yii에서 자산을 참조하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.