titon/框架

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

Titon 框架所组成的包集合。

安装: 29

依赖: 0

建议者: 0

安全: 1

星标: 210

关注者: 15

分支: 23

开放问题: 6

语言:Hack

0.1.0-alpha 2015-07-02 23:29 UTC

This package is auto-updated.

Last update: 2021-09-05 11:48:23 UTC


README

 ______  ______   ______   __    __   ______   __    __   ______   ______   __  __
/\  ___\/\  __ \ /\  __ \ /\ '-./  \ /\  ___\ /\ \ __\ \ /\  __ \ /\  __ \ /\ \/ /_
\ \  __\\ \  __< \ \  __ \\ \ \._/\ \\ \  __\ \ \ \| \\ \\ \ \/\ \\ \  __< \ \  _  \
 \ \_\/  \ \_\ \_\\ \_\ \_\\ \_\/\ \_\\ \_____\\ \__/_.__\\ \_____\\ \_\ \_\\ \_\ \_\
  \/_/    \/_/\/_/ \/_/\/_/ \/_/  \/_/ \/_____/ \/_/  \/_/ \/_____/ \/_/\/_/ \/_/\/_/

Titon 框架

Project Titon Build Status HHVM Latest Version Total Downloads License

什么是 Titon?

Titon 是一个基于 Hack 构建、在 HHVM 上运行的模块化 Web 框架。它以简洁和效率为出发点,具有足够的扩展性和抽象性空间。框架利用了 Hack 的严格模式、类型系统、泛型、集合等功能。它还集成了 PHP-FIG 的优秀 PSRs,以增加与外部 PHP 代码库和库的互操作性。

需要更多信息?在 FreeNode 上的 #titon 找到我们。

要求

路线图

即将推出的功能和发布计划。

  • 2015 年第四季度
    • 控制台包 - 命令行应用程序 [延迟]
    • HTTP 包 - 更新以支持 PSR-7
    • MVC 包 - 模型-视图-控制器应用程序 [延迟至 PSR-7]
    • 管道包 - 管道命令流
  • 2016 年第一季度
    • CommandBus 包 - 命令总线层
    • 队列包 - 队列、作业和工作者服务
    • 会话包 - 自定义会话处理程序
  • 2016 年第二季度
    • DB 包 - 数据库抽象层
    • 模型包 - 数据库实体的对象关系映射和活动记录
  • 2016 年第三季度
    • 邮件包 - 邮件层
    • ACL 包 - 访问控制列表
    • 认证包 - 认证和授权
  • 2016 年第四季度
    • ADR 包 - 动作-领域-响应器应用程序
    • WebSocket 包 - 基于 WebSocket 的应用程序

目前正在讨论的功能和新增功能。

  • 将 Type\Xml 分离成自己的包
  • 将 Type 包重写为面向数据结构的包
  • 实现一个不依赖 Zend 兼容模式的自定义 Yaml 包
  • 可能合并 Utility 和 Common 包

使用方法

文档正在制作中,但在此期间,请查看以下文章。

贡献

Titon 欢迎任何希望在学习 Hack 时大显身手的 PHP 开发者。有关更多信息,请与我们在 #titon 上交谈。

测试

Titon附带了一个Vagrant box和一些Python脚本,以简化测试过程。使用vagrant up启动Vagrant实例,然后使用vagrant ssh登录到盒子。一旦进入Vagrant,您可以使用以下命令运行测试。

/vagrant/bin/run-tests

或者为单个文件或文件夹运行测试。

/vagrant/bin/run-tests --path=Titon/Common

或者根据类名或方法名筛选测试。

/vagrant/bin/run-tests --filter=methodName

Hack严格模式

在大多数情况下,Titon力求严格遵守规范。这可能具有挑战性,但有了Hack内置的类型检查器,这变得非常简单。只需运行以下命令来检查严格问题。

/vagrant/bin/type-check

或者对特定文件夹进行类型检查。

/vagrant/bin/type-check --path=Titon/Utility

在根据路径筛选时,仍然会出现多个错误,如“期望一个类”,“未绑定名称”,“未绑定全局常量”,“这不是容器,这是一个类型为X的对象”等。此问题的主要原因是在子文件夹中运行类型检查器,而不是在根目录,因此所有这些类都不在作用域内。如果类型检查器在源根目录中运行,则不应出现此问题。