neoncitylights/media-type

允许在PHP中将IANA媒体类型作为实体使用

v3.0.0 2024-04-04 01:23 UTC

README

Packagist Version GitHub Build Status Code coverage

MediaType是一个用于解析和序列化MIME类型(也称为IANA媒体类型)的PHP库。

此库符合WHATWG Mime Sniffing标准

安装

系统要求

composer require neoncitylights/media-type

用法

解析

<?php

use Neoncitylights\MediaType\MediaType;
use Neoncitylights\MediaType\MediaTypeParser;

$parser = new MediaTypeParser();
$mediaType = $parser->parseOrNull( 'text/plain;charset=UTF-8' );

print( $mediaType->type ); // 'text'
print( $mediaType->subType ); // 'plain'
print( $mediaType->getEssence() ); // 'text/plain'
print( $mediaType->getParameterValue( 'charset' ) ); // 'UTF-8'

序列化

<?php

use Neoncitylights\MediaType\MediaType;

$mediaType1 = new MediaType( 'text', 'plain', [ 'charset' => 'UT-8' ] );
$mediaType1->toString(); // 'text/plain;charset=UTF-8'

$mediaType2 = new MediaType( 'application', 'json', [] );
$mediaType2->toString(); // 'application/json'

匹配

<?php

use Neoncitylights\MediaType\MediaType;
use Neoncitylights\MediaType\MediaTypeParser;

$parser = new MediaTypeParser();

$parser->parseOrNull( 'audio/midi' )->isAudioOrVideo(); // true
$parser->parseOrNull( 'audio/ogg' )->isAudioOrVideo(); // true
$parser->parseOrNull( 'application/ogg' )->isAudioOrVideo(); // true

许可证

本软件根据MIT许可证(LICENSE-MIThttps://open-source.org.cn/license/mit/)授权。

贡献

除非你明确声明,否则,根据MIT许可证定义的,你故意提交给作品中的任何贡献都应按上述方式授权,不附加任何额外条款或条件。