#yii のアセット フォルダーとは何ですか?
アセットは通常、いくつかのスタイル ファイル (css)、スクリプト ファイル (js)、画像ファイル (image)、およびフロントエンドとバックエンドのその他のコンテンツを保存するフォルダーであるため、Yii で使用できます。 :app() ->request->baseUrl を併用します(プロジェクト名を取得するため)。
アセットの役割は、モジュール化とプラグインを容易にすることです。一般的に、セキュリティ上の理由から、URL を介して保護されたファイルにアクセスすることは許可されていませんが、モジュールも分離したいので、 URL を介して簡単にアクセスできるように、ディレクトリ内のファイルをアセットにコピーします。
$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
モジュールでリソースを追加する必要がある場合は、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('application.modules.admin.assets')); return $this->_assetsUrl; } public function setAssetsUrl($value) { $this->_assetsUrl=$value; } }
次に、/protected/modules/admin/views/layouts/main で $ を使用します。 php this->module->assetsUrl は CSS やその他のファイルを呼び出すことができます。
推奨学習: yii チュートリアル
以上がYii のフォルダー アセットとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。