hoa/protocol

此包已被 废弃,不再维护。未建议替代包。

Hoa\Protocol 库。

1.17.01.14 2017-01-14 12:26 UTC

This package is auto-updated.

Last update: 2021-09-20 08:31:39 UTC


README

Hoa

Build status Code coverage Packagist License

Hoa 是一套 模块化可扩展结构化 的 PHP 库。
此外,Hoa 致力于成为工业界和研究界之间的桥梁。

Hoa\Protocol

Help on IRC Help on Gitter Documentation Board

此库提供了 hoa:// 协议,它是一种抽象资源访问的方法。

了解更多.

安装

使用 Composer,要将此库包含到依赖中,您需要要求 hoa/protocol

$ composer require hoa/protocol '~2.0'

有关更多安装程序,请阅读 源代码页面

测试

在运行测试套件之前,必须安装开发依赖项

$ composer install

然后,运行所有测试套件

$ vendor/bin/hoa test:run

有关更多信息,请阅读 贡献指南

快速使用

我们提出了一个快速概述,说明如何列出当前协议的树,如何解析一个 hoa:// 路径,最后如何在此树中添加一个新节点。

探索资源

首先,要获取 hoa:// 协议的实例,您应该使用代表协议树根的 Hoa\Protocol\Protocol 类上的静态 getInstance 方法

echo Hoa\Protocol\Protocol::getInstance();

/**
 * Might output:
 *   Application
 *     Public
 *   Data
 *     Etc
 *       Configuration
 *       Locale
 *     Lost+found
 *     Temporary
 *     Variable
 *       Cache
 *       Database
 *       Log
 *       Private
 *       Run
 *       Test
 *   Library
 */

我们看到有 3 个“子根”

  1. Application,表示应用程序的资源,如公共文件(在 Public 节点中)、模型、资源……与应用程序相关的所有内容,
  2. Data,表示应用程序所需的数据,如配置文件、地区、数据库、测试等。
  3. Library,表示 Hoa 的所有库。

因此,hoa://Library/Protocol/README.md 代表到这个实际文件的抽象路径。无论你在磁盘上的哪个位置,这个路径始终有效,指向这个文件。这在需要访问类似这样的配置文件 hoa://Data/Etc/Configuration/Foo.php 的应用程序中非常有用:也许 Data 目录不存在,也许 EtcConfiguration 目录也不存在,但 hoa:// 树中的每个节点都会解析到包含你的 Foo.php 配置文件的有效目录。这是一个 资源的抽象路径

解析路径

我们可以通过使用全局 resolve 函数或 Hoa\Protocol\Protocol::resolve 方法来解析路径

var_dump(
    resolve('hoa://Library/Protocol/README.md')
);

/**
 * Might output:
 *     string(37) "/usr/local/lib/Hoa/Protocol/README.md"
 */

在树中注册新节点

hoa:// 协议是一个树结构。因此,要在该树中添加新的“组件”或“目录”,我们必须创建一个节点并将其注册为现有节点的子节点。因此,在以下示例中,我们将创建一个指向 /Volumes 目录的 Usb 节点,并将其添加为新子根,即根节点的直接子节点。

$protocol   = Hoa\Protocol\Protocol::getInstance();
$protocol[] = new Hoa\Protocol\Node('Usb', '/Volumes/');

现在我们已经到达这里。现在,解析 hoa://Usb/StickA 可能会指向 /Volumes/StickA(如果存在)。

var_dump(
    resolve('hoa://Usb/StickA')
);

/**
 * Might output:
 *     string(15) "/Volumes/StickA"
 */

文档

《Hoa\Protocol》黑客手册 包含有关如何使用此库及其工作原理的详细信息。

要本地生成文档,请执行以下命令

$ composer require --dev hoa/devtools
$ vendor/bin/hoa devtools:documentation --open

更多文档可以在项目的网站上找到:[hoa-project.net](https://hoa-project.net/).

获取帮助

主要有两种方式可以获取帮助:

  • #hoaproject IRC 频道中,
  • 在 [users.hoa-project.net](https://users.hoa-project.net) 的论坛上。

贡献

你想贡献力量吗?谢谢!一份详细的 贡献指南 解释了你需要了解的一切。

许可协议

Hoa 采用新 BSD 许可协议(BSD-3-Clause)。请参阅 LICENSE 了解详细信息。