chromabits/nucleus

此包已被废弃,不再维护。作者建议使用 sellerlabs/nucleus 包。

一些核心 PHP 工具

v0.4.9 2015-12-16 09:42 UTC

README

已弃用: 此包不再维护。它已被 https://github.com/sellerlabs/nucleus 替换。

Nucleus 构建状态

一个独立的 PHP 工具库。深受类似项目如 libphutil 的启发。目前用于个人和工作项目。旨在使 PHP 的工作更加友好和可预测。

需要 HHVM 3.6 或 PHP 5.6

目标

  • 提供一致 API 以进行常见操作。
  • 将最有用的片段和代码片段汇集到一个库中。
  • 强调严格的类型检查(例如 float !== integer)。
  • 欢迎函数式编程思想和概念(我是新手)。

核心组件

虽然 Nucleus 中有很多乱七八糟的东西,但也有一些有用的类值得提及

  • Spec:一个多用途约束检查框架,可以轻松扩展。
  • Validator:基于 Spec,Validator 组件为 SpecResult 提供了生成用户友好的消息的接口。
  • Impersonator:一个构造器依赖自动模拟器。对于具有许多外部依赖项的类和大量使用容器依赖项注入的项目非常有用。
  • View:用于生成干净和安全的 HTML/Text 的类和实用工具集合。它有点像没有 XML 的 XHP 或去糖化的 React.js 代码。
  • Std, Arr 和其他:我们都知道 PHP 标准库很混乱。有许多尝试修复它的失败尝试。这是其中之一。我创建了一些类,具有许多静态别名,试图改进它。是的,这会有性能损失(验证 + 至少一个更多函数调用),但它使许多操作更可预测、更安全。

构建文档

cd docs
pip install -r requirements.txt
make html

贡献

GitHub 上接受拉取请求。欢迎修复错误和小改进。大的想法将被审查和讨论。

代码标准:PSR-2 标准加上一些补充。更多详情请参阅https://github.com/chromabits/standard

安全

如果您发现任何与安全相关的问题,请发送电子邮件至ed+security@chromabits.com,而不是使用问题跟踪器。

许可

此代码遵循MIT许可协议。更多信息请参阅LICENSE文件。