quorum/dot-notation
Composer 安装命令:
composer require quorum/dot-notation
包简介
Simple PHP Dot Notation Parser
README 文档
README
DotNotationParser is a simple parser that will parse foo.bar.baz into [ 'foo', 'bar', 'baz' ] and foo."bar.baz" into [ 'foo', 'bar.baz' ].
Requirements
- php: >=7.4
Installing
Install the latest version with:
composer require 'quorum/dot-notation'
Example
<?php use Quorum\DotNotation\DotNotationParser; require __DIR__ . '/../vendor/autoload.php'; $parser = new DotNotationParser; $tests = [ 'foo', 'foo.bar', 'spaces are allowed' => 'foo bar.baz', 'dots are accepted in quotes' => '"foo.bar".baz', 'quotes are escaped with backslashes' => '"foo\"bar\"".baz', ]; foreach( $tests as $descr => $test ) { echo sprintf("Parsing '%s'%s\n", $test, is_numeric($descr) ? '' : ' - ' . $descr); $parts = $parser->parse($test); echo sprintf("[ %s ]\n", implode(", ", array_map( function ( $a ) { return var_export($a, true); }, $parts))); echo "\n"; }
Parsing 'foo'
[ 'foo' ]
Parsing 'foo.bar'
[ 'foo', 'bar' ]
Parsing 'foo bar.baz' - spaces are allowed
[ 'foo bar', 'baz' ]
Parsing '"foo.bar".baz' - dots are accepted in quotes
[ 'foo.bar', 'baz' ]
Parsing '"foo\"bar\"".baz' - quotes are escaped with backslashes
[ 'foo"bar"', 'baz' ]
Documentation
Class: Quorum\DotNotation\DotNotationParser
Class DotPathParser
Parse strings like foo."bar.baz".quux into [ 'foo', 'bar.baz', 'quux' ]
Method: DotNotationParser->parse
function parse(string $path) : array
Parse a given dot notation path into it's parts
The path is expected to be a string of dot separated keys, where keys can be
quoted with double quotes. Backslashes are used to escape double quotes inside
quoted keys.
Examples
'foo.bar.baz'=>[ 'foo', 'bar', 'baz' ]'foo."bar.baz"'=>[ 'foo', 'bar.baz' ]'foo."bar.baz".quux'=>[ 'foo', 'bar.baz', 'quux' ]'foo."bar\"baz".quux'=>[ 'foo', 'bar"baz', 'quux' ]
Throws: \Quorum\DotNotation\Exceptions\ParseException
Returns:
- string[]
统计信息
- 总下载量: 53.82k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 14
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-01-27