ホームページ > 記事 > PHPフレームワーク > Yii でアセットを参照するにはどうすればよいですか?
Yii アセットを引用する方法: まず、使用する必要があるリソースを [modules/admin/assets] の下に置き、次にプライベート リソースをパブリック ディレクトリに公開し、次にそれらを Web サイトの [/assets] の下に置きます。 directory ランダムで競合しないフォルダーを作成し、ファイルをコピーします。
#Yii リファレンス アセット メソッド:
YII アセットを使用する理由 #1.アセットの役割は、モジュール化とプラグインを容易にすることです。一般的に、セキュリティ上の理由から、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
2 を通じて簡単にアクセスできるように、以下のファイルをアセットにコピーします。モジュールでリソースを追加する必要がある場合は、Webroot から直接リソースを参照して追加するだけです。
ただし、どこでも参照でき、独立したリソースを持ち、名前の競合を回避できるモジュールを作成するようにしてください。
同じ名前のファイル (js、画像、css についても同様) を使用しようとしている散在するアプリケーションとファイル名が競合しないようにするにはどうすればよいですか。
CAssetManager を通じて、Yii::app()->assetManager はプライベート リソースをパブリック ディレクトリ webroot/assets に自動的に公開できます
関連学習の推奨事項:yii チュートリアル以下では例として admin モジュールを取り上げます
1. 必要なリソースを
modules/admin/assets# # に配置します#下。2. その後、CAssetManager を通じて、Yii::app()->assetManager はプライベート リソースをパブリック ディレクトリ、ウェブサイト ディレクトリ/アセットに自動的に公開できます
/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 およびその他のファイルを呼び出します。
<link rel="stylesheet" type="text/css" href="<?php echo $this->module->assetsUrl; ?>/css/screen.css"/>使用前にアセットを強制更新
$baseJsUrl = Yii::app()->getAssetManager()->publish($baseJsPath, false, -1, YII_DEBUG);
以上がYii でアセットを参照するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。