ホームページ > PHPフレームワーク > YII > yii 資産とは何を意味しますか?

yii 資産とは何を意味しますか?

(*-*)浩
リリース: 2019-11-04 13:31:55
オリジナル
4503 人が閲覧しました

アセットフォルダーには通常、いくつかのスタイルファイル (css)、スクリプトファイル (js)、画像ファイル (image) などがフロントエンドとバックエンドに保存されているため、Yii::app() で使用できます。 ->request ->baseUrl を併用します (プロジェクト名を取得するため)。

yii 資産とは何を意味しますか?

アセットの役割は、モジュール化とプラグインを容易にすることです。通常、セキュリティ上の理由から、URL を介して保護されたファイルにアクセスすることは許可されていませんが、モジュールを分離したい場合は、パブリッシュを使用する必要があります。つまり、URL 経由で簡単にアクセスできるように、ディレクトリ内のファイルをアセットにコピーします (推奨学習: 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
ログイン後にコピー

If モジュール リソースを追加する必要がある場合は、Webroot から直接追加できます。

ただし、どこでも参照でき、独立したリソースを持ち、名前の競合を回避できるモジュールを作成するようにしてください。

同じ名前のファイル (js、画像、css についても同様) を使用しようとしている散在するアプリケーションとファイル名が競合しないようにするにはどうすればよいですか。

CAssetManager を通じて、Yii::app()->assetManager はプライベート リソースをパブリック ディレクトリ webroot/assets に自動的に公開できます

以下は例として admin モジュールを取り上げます

1. 必要なリソースを module/admin/assets の下に配置します。

2. その後、CAssetManager を通じて、Yii::app()->assetManager はプライベート リソースをパブリック ディレクトリ Web サイトのディレクトリ/assets に自動的に公開できます

3. Yii は自動的にランダムなリソースを作成します/assets ディレクトリの下に競合しないフォルダー (2b31b42b など) を配置し、そこに modules/admin/assets ディレクトリ内のファイルをコピーします。

次のコードで取得した protected\modules\admin\AdminModule.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;  
    }  
}
ログイン後にコピー

次に、/protected/modules/admin/views/layouts/main で $ を使用します。 php this->module->assetsUrl は CSS やその他のファイルを呼び出すことができます。

以上がyii 資産とは何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
yii
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート