微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何重命名 yii\web\YiiAsset 文件名

如何解决如何重命名 yii\web\YiiAsset 文件名

我使用的是 Yii2 框架,我不知道如何从 yii\web\YiiAsset 重命名文件名。 yii 自动web/assets 文件夹中生成文件。有可能吗?

enter image description here

解决方法

您可以覆盖 yii\web\AssetManager::hash($path)

class MyAssetManager extends yii\web\AssetManager{
    protected function ($path) {
        return hash('md4',$path);
    }
}

此外,您还可以设置 $hashCallbackread this

您可以在 aftercopy 上重命名资产文件:

'assetManager' => [
    'forceCopy'  => true,'afterCopy' => function ($from,$to) {
        if (basename($from) == 'site.css') {
            rename($to,dirname($to) . DIRECTORY_SEPARATOR . 'newname.css');
        }
    },],

或使用“mysite.css”代替“site.css”使用assetMap

'assetManager' => [
    'assetMap'   => [
        'site.css' => 'mysite.css',

如果以上都不能解决您的问题,您将不得不覆盖 AssetManager->publishDirectory($src,$options),它最终会默认调用 FileHelper::copyDirectory

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。