hoa/core

此软件包已被弃用,不再维护。作者建议使用hoa/consistency软件包。

Hoa\Core 库。

2.15.11.09 2015-11-09 06:51 UTC

README

Hoa

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

Hoa\Core state

此库是所有 Hoa 库的基础——核心——,它提供了基本算法、范式和机制,组织如下

  • 核心:核心的核心;
  • 一致性:为 PHP 添加一致性(例如 from/importxcallablednewcurry 等.);
  • 异常:统一异常和错误;
  • 协议:抽象资源——以及更多——的访问(例如 hoa://Libraryhoa://Application);
  • 参数:管理库的参数;
  • 事件:添加事件和监听器的支持;
  • 数据:添加支持高性能的多态数据。

警告

此库已弃用。它已被拆分为

此库不再使用。

安装

核心可以放置在您想要的位置。我们推荐在类 Unix 系统中使用 /usr/local/lib/Hoa,在 Windows 系统中使用 C:\Program Files\Hoa

然后,您需要引入 Core.php,这样就可以使用 Hoa 的所有库;因此

<?php

require '/usr/local/lib/Hoa/Core/Core.php';
var_dump(HOA); // bool(true)

使用 Composer,您不需要引入 Core.php,只需像往常一样引入 vendor/autoload.php 即可。

快速使用

我们提出对核心的一些层的快速概述。

异常和错误

错误统一为异常。异常分为三种:空闲、正常和错误。它们支持格式化消息、自动捕获、专用事件通道等。

协议

hoa:// 定义了应用资源的抽象(根为 DataApplication)以及库资源的抽象(根为 Library)。例如

$conf = require 'hoa://Data/Etc/Configuration/Foo.php';

我们可以在该协议上附加更多资源。以下是一个使用 Hoa\Registry 的示例

Hoa\Registry\Registry::set('foo', 'bar');
echo resolve('hoa://Library/Registry#foo'); // bar

事件和监听器

库可以使用事件和监听器(它们有一些相似之处)。例如,如果我们将函数附加到异常的通道

event('hoa://Event/Exception')->attach(function ($bucket) {
    $exception = $bucket->getData();
    echo 'Exception: ', $exception->getMessage(), "\n";
})

throw new Hoa\Core\Exception('Hello %s!', 0, 'Gordon');
// Exception: Hello Gordon!

一些库定义了自己的通道,例如 Hoa\Stream,例如 hoa://Event/Stream/<stream-name>:close-before,或者 hoa://Event/Log/<channel> 等。

对于监听器,我们更接近发射器

$websocket = new Hoa\Websocket\Server(
    new Hoa\Socket\Server('tcp://127.0.0.1:8889')
);
$websocket->on('message', $callable);
$websocket->run();

文档

可以在网站上找到不同的文档:http://hoa-project.net/

许可证

Hoa 采用新的 BSD 许可证 (BSD-3-Clause)。请参阅 LICENSE