자산 폴더는 일반적으로 프론트엔드와 백엔드에 일부 스타일 파일(css), 스크립트 파일(js), 그림 파일(이미지) 등을 저장하므로 Yii::app()->request와 함께 사용할 수 있습니다. ->baseUrl 함께 사용합니다(프로젝트 이름을 가져옵니다).
자산의 역할은 모듈화 및 플러그인을 용이하게 하는 것입니다. 일반적으로 보안상의 이유로 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('application.modules.admin.assets')); return $this->_assetsUrl; } public function setAssetsUrl($value) { $this->_assetsUrl=$value; } }
그런 다음 /protected/modules/admin/views/layouts/main.php의 $this->module->assetsUrl을 사용하여 CSS 및 기타 파일.
위 내용은 yii 자산은 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!