opxcore/pathset

OpxCore 路径集组件。

1.0.5 2020-06-23 13:41 UTC

This package is not auto-updated.

Last update: 2024-09-26 05:50:01 UTC


README

Build Status Coverage Status Latest Stable Version Total Downloads License

路径集是定义路径集合的抽象层,例如搜索路径。每个 Path 都关联一个主路径和备用路径。在 PathSet 中,每个路径都与名称关联。获取某个名称的集合将返回一个不重复的注册路径数组,按反向顺序排列。名称 '*' 是一个全局路径集,将包含在其他所有集合中。

安装

composer require opxcore/pathset

示例

简单使用

$pathSet = new PathSet;
$pathSet->add('name', 'primary', ['alternate_1', 'alternate_2']);
$set = $pathSet->get('name');
// $set = [
//   'alternate_2', 
//   'alternate_1', 
//   'primary'
// ]

使用构造函数定义

$pathSet = new PathSet(['name', ['primary', 'alternate_1', 'alternate_2']]);
$set = $pathSet->get('name');
// $set = [
//   'alternate_2', 
//   'alternate_1', 
//   'primary'
// ]

使用全局名称

$pathSet = new PathSet;
$pathSet->add('*', 'global_primary', ['global_alternate_1', 'global_alternate_2']);
$pathSet->add('name', 'primary', ['alternate_1', 'alternate_2']);
$set = $pathSet->get('name');
// $set = [
//   'alternate_2',
//   'alternate_1',
//   'primary',
//   'global_alternate_2',
//   'global_alternate_1',
//   'global_primary'
// ]

添加备用路径

$pathSet = new PathSet(['name', ['primary', 'alternate_1']]);

...

$pathSet['name']->addAlternates(['alternate_2']);

...

$set = $pathSet->get('name');
// $set = [
//   'alternate_2', 
//   'alternate_1', 
//   'primary'
// ]