Constants

URN_REGEXP

URN_REGEXP = '/^urn:[a-z0-9][a-z0-9-]{1,31}:([a-z0-9()+,-.:=@;$_!*\']|%(0[1-9a-f]|[1-9a-f][0-9a-f]))+$/i'

符合 RFC 2141 的 URN正则规则.

Properties

$delimiter

$delimiter : string

分隔符.

Type

string

$original

$original : 

原始urn.

Type

$expression

$expression : 

符合 RFC 2141 和 小米规范的 URN.

Type

$columns

$columns : array

小米 URN 规范所包含的字段 <URN> ::= "urn:"<namespace>":"<type>":"<name>":"<value>[":"<vendor-product>":"<version>].

Type

array

$baseUrn

$baseUrn : 

各类型的预订义的基础urn.

Type

$baseColumns

$baseColumns : array

预订义的小米 URN 规范所包含的字段 <URN> ::= "urn:"<namespace>":"<type>":"<name>":"<value>.

Type

array

$urn

$urn : 

第一个字段必须为urn,否则视为非法urn.

Type

$namespace

$namespace : 

如果是小米定义的规范为miot-spec 蓝牙联盟定义的规范为bluetooth-spec.

Type

$validNamespaces

$validNamespaces : array

合法的namespace.

Type

array

$type

$type : 

SpecificationType (类型,简写为: type) 只能是如下几个:.

property action event service device

Type

$validTypes

$validTypes : array

合法的type.

Type

array

$name

$name : 

有意义的单词或单词组合(小写字母) 多个单词用"-"间隔,比如:.

temperature current-temperature device-name battery-level

Type

$nameReg

$nameReg : string

name的正则 单词或单词组合(小写字母) 多个单词用"-"间隔.

Type

string

$value

$value : 

16进制字符串,使用UUID前8个字符,如:.

00002A06 00002A00

Type

$valueReg

$valueReg : string

value正则 16进制字符串,使用UUID前8个字符.

Type

string

$vendorProduct

$vendorProduct : string

厂家+产品代号 (这个字段只有在设备实例定义里出现) 有意义的单词或单词组合(小写字母),用"-"间隔,比如:.

philips-moonlight yeelink-c300 zhimi-vv benz-c63

Type

string

$vendorProductReg

$vendorProductReg : string

厂家+产品代号正则 单词或单词组合(小写字母) 多个单词用"-"间隔.

Type

string

$version

$version : 

版本号,只能是数字 (这个字段只有在设备实例定义里出现) 如: 1, 2, 3.

Type

$version_reg

$version_reg : string

版本号正则 只能是数字.

Type

string

Methods

__construct()

__construct(  $urn) 

Urn constructor.

Parameters

$urn

Throws

\MiotApi\Exception\SpecificationErrorException

getUrn()

getUrn() : mixed

Returns

mixed

setUrn()

setUrn(mixed  $urn) 

Parameters

mixed $urn

Throws

\MiotApi\Exception\SpecificationErrorException

getNamespace()

getNamespace() : mixed

Returns

mixed

setNamespace()

setNamespace(mixed  $namespace) 

Parameters

mixed $namespace

Throws

\MiotApi\Exception\SpecificationErrorException

getType()

getType() : mixed

Returns

mixed

setType()

setType(mixed  $type) 

Parameters

mixed $type

Throws

\MiotApi\Exception\SpecificationErrorException

getName()

getName() : mixed

Returns

mixed

setName()

setName(mixed  $name) 

Parameters

mixed $name

Throws

\MiotApi\Exception\SpecificationErrorException

getValue()

getValue() : mixed

Returns

mixed

setValue()

setValue(mixed  $value) 

Parameters

mixed $value

Throws

\MiotApi\Exception\SpecificationErrorException

getVendorProduct()

getVendorProduct() : mixed

Returns

mixed

setVendorProduct()

setVendorProduct(mixed  $vendorProduct) 

Parameters

mixed $vendorProduct

Throws

\MiotApi\Exception\SpecificationErrorException

getVersion()

getVersion() : mixed

Returns

mixed

setVersion()

setVersion(mixed  $version) 

Parameters

mixed $version

Throws

\MiotApi\Exception\SpecificationErrorException

getBaseUrn()

getBaseUrn() : mixed

Returns

mixed

getExpression()

getExpression() : mixed

Returns

mixed

setBaseUrn()

setBaseUrn() : string

Returns

string

setExpression()

setExpression() : string

根据各字段生成解析格式化后的urn.

Returns

string

_parse()

_parse() : mixed

urn 解析器.

Returns

mixed