Heim > Artikel > PHP-Framework > Wie referenziere ich Vermögenswerte in Yii?
Yii-Methode zum Referenzieren von Assets: Platzieren Sie zuerst die benötigten Ressourcen unter [modules/admin/assets], veröffentlichen Sie dann die privaten Ressourcen im öffentlichen Verzeichnis und platzieren Sie sie dann unter [/assets] im Website-Verzeichnis einen zufälligen, nicht in Konflikt stehenden Ordner; kopieren Sie dann die Dateien.
Yii-Referenzvermögensmethode:
Warum YII-Vermögenswerte verwenden
1. Die Rolle von Assets besteht darin, die Modularisierung und das Plug-In zu erleichtern. Aus Sicherheitsgründen ist der Zugriff auf Dateien unter URL-Schutz nicht zulässig. Wir möchten das Modul jedoch auch trennen, sodass wir die Veröffentlichung verwenden müssen. Das heißt, ein Verzeichnis. Kopieren Sie die Datei unten in Assets, um über die URL leicht 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
2. 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
Verwandte Lernempfehlungen: yii Tutorial
Im Folgenden wird das Admin-Modul als Beispiel genommen
1 Platzieren Sie die benötigten Ressourcen unter modules/admin/assets
.
2. Yii::app()->assetManager kann dann automatisch private Ressourcen im öffentlichen Verzeichnis, Website-Verzeichnis/Assets, veröffentlichen.
3 Erstellen Sie einen nicht in Konflikt stehenden Ordner im Website-Verzeichnis /assets
, z. B. 2b31b42b, und kopieren Sie die Dateien in Ihr Verzeichnis modules/admin/assets
dorthin.
wird durch den folgenden Code erhalten, ändern Sie die protectedmodulesadminAdminModule.php
-Datei,
<?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; } }
und verwenden Sie dann $this->module- in /protected/modules/admin/views/layouts/main .php >assetsUrl kann Ihr CSS und andere Dateien aufrufen.
<link rel="stylesheet" type="text/css" href="<?php echo $this->module->assetsUrl; ?>/css/screen.css"/>
Aktualisierung des Assets vor der Verwendung erzwingen
$baseJsUrl = Yii::app()->getAssetManager()->publish($baseJsPath, false, -1, YII_DEBUG);
Das obige ist der detaillierte Inhalt vonWie referenziere ich Vermögenswerte in Yii?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!