quorum/dot-notation 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

quorum/dot-notation

Composer 安装命令:

composer require quorum/dot-notation

包简介

Simple PHP Dot Notation Parser

README 文档

README

Latest Stable Version Total Downloads License ci.yml

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

GitHub 信息

  • Stars: 3
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-01-27

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固