Maison  >  Article  >  cadre php  >  Que signifient les actifs yii ?

Que signifient les actifs yii ?

(*-*)浩
(*-*)浩original
2019-11-04 13:31:554395parcourir

Le dossier Assets stocke généralement des fichiers de style (css), des fichiers de script (js), des fichiers d'image (images), etc. au niveau du front et du backend, il peut donc être utilisé avec Yii::app() ->request ->baseUrl est utilisé ensemble (pour obtenir le nom du projet).

Que signifient les actifs yii ?

Le rôle des actifs est de faciliter la modularisation et le plug-in De manière générale, pour des raisons de sécurité, l'accès aux fichiers sous protégés via URL n'est pas autorisé, mais nous. Si vous souhaitez séparer le module, vous devez utiliser la publication, c'est-à-dire copier les fichiers d'un répertoire vers des ressources pour un accès facile via URL (apprentissage recommandé : tutoriel 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

Si un module Si vous devez ajouter des ressources, vous pouvez les ajouter directement depuis webroot.

Mais essayez de créer un module qui peut être référencé n'importe où, être indépendant des ressources et éviter les conflits de noms.

Comment vous assurer que vos noms de fichiers n'entrent pas en conflit avec certaines applications dispersées essayant d'utiliser le même nom pour les fichiers, il en va de même pour js, images, css.

Grâce à CAssetManager, Yii::app()->assetManager peut publier automatiquement des ressources privées dans le répertoire public webroot/assets

Ce qui suit prend le module d'administration comme exemple

1. Placez les ressources dont vous avez besoin sous modules/admin/assets.

2. Ensuite, via CAssetManager, Yii::app()->assetManager peut publier automatiquement les ressources privées dans le répertoire public du site Web /assets

3. sur le site Web Créez un dossier aléatoire non conflictuel sous le répertoire /assets, tel que 2b31b42b, et copiez-y les fichiers de votre répertoire modules/admin/assets.

Obtenu via le code suivant, modifiez le fichier 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;  
    }  
}

Ensuite, utilisez $this->module- in /protected/modules/admin/views/layouts/main. php >assetsUrl peut appeler votre CSS et d'autres fichiers.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie Yii::app() ?Article suivant:Que signifie Yii::app() ?