Heim >PHP-Framework >YII >Was sind die Ordner-Assets in Yii?
Was ist der Assets-Ordner in yii?
Assets sind im Allgemeinen Ordner, die einige Stildateien (CSS), Skriptdateien (JS), Bilddateien (Bilder) und andere Inhalte im Front- und Backend speichern, sodass sie mit Yii verwendet werden können: :app() ->request->baseUrl wird zusammen verwendet (um den Projektnamen zu erhalten).
Die Rolle von Assets besteht darin, die Modularisierung und das Plug-in zu erleichtern. Aus Sicherheitsgründen ist der Zugriff auf Dateien, die über eine URL geschützt sind, im Allgemeinen nicht zulässig, aber wir möchten das Modul auch trennen, also müssen wir es tun Verwenden Sie „Release“. Kopieren Sie eine Datei in einem Verzeichnis in Assets, um über die URL einfach darauf zugreifen zu können.
$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
Wenn ein Modul Ressourcen hinzufügen muss, fügen Sie diese einfach direkt aus dem Webroot hinzu.
Aber versuchen Sie, ein Modul zu erstellen, auf das überall verwiesen werden kann, das ressourcenunabhängig ist und Namenskonflikte vermeidet.
Wie stellen Sie sicher, dass Ihre Dateinamen nicht mit einigen verstreuten Anwendungen in Konflikt geraten, die versuchen, denselben Namen für Dateien zu verwenden, dasselbe gilt für JS, Bilder und CSS?
Über CAssetManager kann Yii::app()->assetManager private Ressourcen automatisch im öffentlichen Verzeichnis webroot/assets veröffentlichen
Im Folgenden wird das Admin-Modul als Beispiel genommen
1. Platzieren Sie die benötigten Ressourcen unter Module/Admin/Assets.
2. Dann kann Yii::app()->assetManager die privaten Ressourcen automatisch im öffentlichen Verzeichnis der Website /assets veröffentlichen
3 auf der Website Erstellen Sie einen zufälligen, nicht in Konflikt stehenden Ordner im Verzeichnis /assets, z. B. 2b31b42b, und kopieren Sie die Dateien in Ihrem Verzeichnis „modules/admin/assets“ dorthin.
Durch den folgenden Code erhalten, ändern Sie die Datei 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; } }
Verwenden Sie dann $this->module- in /protected/modules/admin/views/layouts/main. php >assetsUrl kann Ihr CSS und andere Dateien aufrufen.
Empfohlenes Lernen: yii-Tutorial
Das obige ist der detaillierte Inhalt vonWas sind die Ordner-Assets in Yii?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!