Как получить доступ напрямую к assets без хэша?

В Yii Framework доступ к assets без хэша можно получить с помощью метода publish() класса yiiwebAssetManager.

Assets, по умолчанию, хранятся в директории @webroot/assets, где @webroot является псевдонимом для корневой директории вашего веб-приложения. Каждый asset файл имеет уникальное имя, содержащее хэш его содержимого. Это сделано для более эффективного кеширования, чтобы браузеры могли кэшировать файлы и загружать их только в случае изменений.

Тем не менее, иногда вам может понадобиться получить доступ к assets без хэша, например, чтобы включить внешние ресурсы или чтобы передать абсолютный путь к файлу.

Чтобы сделать это, вы можете использовать метод publish() класса yiiwebAssetManager. Этот метод публикует указанный asset файл и возвращает его URL. Если при указании файла задан второй параметр $hashByName как true, то URL будет содержать имя файла без хэша. Например:

$assetPath = Yii::$app->assetManager->publish('@app/assets/css/style.css', true);

В этом примере мы публикуем файл style.css в директории @app/assets/css с помощью метода publish(). Второй параметр true указывает на то, что необходимо получить URL файла без хэша. В результате переменная $assetPath будет содержать URL файла без хэша.

Этот URL можно использовать, например, для включения внешних ресурсов или для передачи абсолютного пути к файлу в другую часть вашего приложения.

Однако, стоит учитывать, что при получении URL без хэша файла, браузер может не обновлять его кэш при изменениях. Поэтому, помните о возможных проблемах при кешировании и актуализируйте URL, если файлы изменяются.