>PHP 프레임워크 >YII >yii 자산은 무엇을 의미하나요?

yii 자산은 무엇을 의미하나요?

(*-*)浩
(*-*)浩원래의
2019-11-04 13:31:554522검색

자산 폴더는 일반적으로 프론트엔드와 백엔드에 일부 스타일 파일(css), 스크립트 파일(js), 그림 파일(이미지) 등을 저장하므로 Yii::app()->request와 함께 사용할 수 있습니다. ->baseUrl 함께 사용합니다(프로젝트 이름을 가져옵니다).

yii 자산은 무엇을 의미하나요?

자산의 역할은 모듈화 및 플러그인을 용이하게 하는 것입니다. 일반적으로 보안상의 이유로 URL을 통해 보호된 파일에 액세스하는 것은 허용되지 않지만, 모듈도 분리하려고 합니다. 곧 게시될 릴리스를 사용하세요. URL을 통해 쉽게 액세스할 수 있도록 디렉토리의 파일을 자산에 복사하세요(권장 학습: yii 튜토리얼)

$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

모듈에 리소스를 추가해야 하는 경우 웹루트에서 직접 추가하세요.

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

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

CAssetManager를 통해 Yii::app()->assetManager는 자동으로 공개 디렉토리 webroot/assets에 비공개 리소스를 게시할 수 있습니다

다음은 관리 모듈을 예로 들어보겠습니다

1. 모듈/관리자/자산.

2. 그런 다음 Yii::app()->assetManager는 비공개 리소스를 공개 디렉터리의 /assets에 자동으로 게시할 수 있습니다.

3 Yii는 자동으로 /assets 아래에 임의의 리소스를 생성합니다. 웹 사이트 디렉토리 2b31b42b와 같은 충돌하지 않는 폴더에 모듈/관리자/자산 디렉토리의 파일을 복사합니다.

다음 코드를 통해 획득하고 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.php의 $this->module->assetsUrl을 사용하여 CSS 및 기타 파일.

위 내용은 yii 자산은 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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