yii의 자산 폴더는 무엇인가요?
자산은 일반적으로 프런트엔드와 백엔드에 일부 스타일 파일(css), 스크립트 파일(js), 그림 파일(이미지) 및 기타 콘텐츠를 저장하는 폴더이므로 Yii::app()->와 함께 사용할 수 있습니다. ;request-> ;baseUrl은 (프로젝트 이름 가져오기)와 함께 사용됩니다.
자산의 역할은 모듈화 및 플러그인을 용이하게 하는 것입니다. 일반적으로 보안상의 이유로 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
모듈에 리소스를 추가해야 하는 경우 웹 루트에서 직접 추가하세요.
하지만 어디에서나 참조할 수 있고 독립적인 리소스를 가지며 이름 충돌을 피할 수 있는 모듈을 만들어 보세요.
파일 이름이 파일에 동일한 이름을 사용하려고 하는 일부 분산된 응용 프로그램과 충돌하지 않도록 하려면 어떻게 해야 합니까? 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 튜토리얼
위 내용은 Yii의 폴더 자산은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!