hoa / core
Requires
- php: >=5.4.0
- ext-spl: *
Requires (Dev)
- hoa/test: ~1.0
Suggests
- ext-mbstring: ext/mbstring must be present (or a third implementation).
- hoa/cli: To use the `hoa` script.
This package is not auto-updated.
Last update: 2022-02-01 12:21:18 UTC
README
Hoa 是一组 模块化、可扩展 和 结构化 的 PHP 库。此外,Hoa 旨在成为工业界和研究界之间的桥梁。
Hoa\Core
此库是所有 Hoa 库的基础——核心——,它提供了基本算法、范式和机制,组织如下
- 核心:核心的核心;
- 一致性:为 PHP 添加一致性(例如
from
/import
、xcallable
、dnew
、curry
等.); - 异常:统一异常和错误;
- 协议:抽象资源——以及更多——的访问(例如
hoa://Library
或hoa://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://
定义了应用资源的抽象(根为 Data
和 Application
)以及库资源的抽象(根为 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
。