0 follower

Final Class Yiisoft\Assets\Exporter\JsonAssetExporter

InheritanceYiisoft\Assets\Exporter\JsonAssetExporter
ImplementsYiisoft\Assets\AssetExporterInterface

Exports the file paths of asset bundles Yiisoft\Assets\AssetBundle::$export to a JSON file.

Method Details

Hide inherited methods

__construct() public method

public __construct( string $targetFile ): mixed
$targetFile string

The full path to the target JSON file.

                public function __construct(
    private readonly string $targetFile,
) {}

            
export() public method

Exports asset bundle file paths Yiisoft\Assets\AssetBundle::$export.

All dependencies must be created, and path aliases for Yiisoft\Assets\AssetBundle properties are resolved Yiisoft\Assets\AssetUtil::resolvePathAliases(). When using Yiisoft\Assets\AssetManager::export(), all dependencies and path aliases will be automatically resolved.

public export( array $assetBundles ): void
$assetBundles array

The asset bundle instances.

throws RuntimeException

If an error occurred while writing to the JSON file.

                public function export(array $assetBundles): void
{
    try {
        $data = Json::encode(AssetUtil::extractFilePathsForExport($assetBundles));
    } catch (JsonException $e) {
        throw new RuntimeException('An error occurred during JSON encoding of asset bundles.', 0, $e);
    }
    AssetUtil::exportToFile($this->targetFile, $data);
}