Heim >PHP-Framework >YII >Was sind die Ordner-Assets in Yii?

Was sind die Ordner-Assets in Yii?

青灯夜游
青灯夜游Original
2019-12-23 17:36:225835Durchsuche

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(&#39;application.modules.admin.assets&#39;));  
        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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn