ホームページ  >  記事  >  バックエンド開発  >  yii2 アセットの変更

yii2 アセットの変更

WBOY
WBOYオリジナル
2016-07-29 09:05:581597ブラウズ

Git リポジトリから静的リソース ファイルを全員に削除するよう強制するために、nginx の静的リソース設定をすべて削除しました。

しかし、それは開発マシン上でのこれらのファイルの全員のデバッグにも影響します。

assets の下のモジュール ディレクトリがマシンごとに異なることを考慮して、yii2 のソース コードを調べたところ、次の記述を見つけました。

アルゴリズムは $path = (is_file($path) ? dirname($path) : $path) であることがわかりました。 filemtime($path);

は暗号化を支援するために毎回 filemtime を見つけます。そこで、まずそれを削除することを考えました。このようにして、暗号化後のパスは毎回固定されます。これにより、cdn へのファイルの配置が容易になります。複数のマシンがある場合、これらのパスは一貫しているため、影響はありません。


/**
* ディレクトリ パスの CRC32 ハッシュを生成します。衝突は MD5 よりも高くなります
* しかし、生成されるハッシュ文字列ははるかに小さくなります。
* @param string $path string to be hashed.
* @return string hashed string.
     */
保護された関数 hash($path)
{
if (is_callable($this->hashCallback)) {
$path );
}
$path = (is_file ($path) ? dirname($path) : $path);
を使用する を使用する を使用する を通じて を通じて を通じて を通じて を通じて を通じて を通じて を通じて を通じて を通じて を通じて‐ ‐ ‐‐ ‐ to )));

}

ファイルは、vendor/yiisoft/yii2/web/AssetManager.php に保存されます

上記では、関連する側面も含めて yii2 アセットの変更を紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。