titon / 框架
Titon 框架所组成的包集合。
Requires
- ext-fileinfo: *
- ext-mbstring: *
- hhvm: >=3.6.0
- psr/http-message: 0.5
- psr/log: ~1.0
Requires (Dev)
- php-vfs/php-vfs: ~1.2
- phpunit/phpunit: ~4.6
Suggests
- ext-apc: Cache data using APC
- ext-intl: Localize messages using the Intl extension
- ext-mcrypt: Encrypt and decrypt data using MCrypt (outdated)
- ext-memcached: Cache data using Memcache
- ext-openssl: Encrypt and decrypt data using OpenSSL (suggested)
- ext-redis: Cache data using Redis
- ext-simplexml: Read and Write XML files
This package is auto-updated.
Last update: 2021-09-05 11:48:23 UTC
README
______ ______ ______ __ __ ______ __ __ ______ ______ __ __
/\ ___\/\ __ \ /\ __ \ /\ '-./ \ /\ ___\ /\ \ __\ \ /\ __ \ /\ __ \ /\ \/ /_
\ \ __\\ \ __< \ \ __ \\ \ \._/\ \\ \ __\ \ \ \| \\ \\ \ \/\ \\ \ __< \ \ _ \
\ \_\/ \ \_\ \_\\ \_\ \_\\ \_\/\ \_\\ \_____\\ \__/_.__\\ \_____\\ \_\ \_\\ \_\ \_\
\/_/ \/_/\/_/ \/_/\/_/ \/_/ \/_/ \/_____/ \/_/ \/_/ \/_____/ \/_/\/_/ \/_/\/_/
Titon 框架
什么是 Titon?
Titon 是一个基于 Hack 构建、在 HHVM 上运行的模块化 Web 框架。它以简洁和效率为出发点,具有足够的扩展性和抽象性空间。框架利用了 Hack 的严格模式、类型系统、泛型、集合等功能。它还集成了 PHP-FIG 的优秀 PSRs,以增加与外部 PHP 代码库和库的互操作性。
需要更多信息?在 FreeNode 上的 #titon 找到我们。
要求
路线图
即将推出的功能和发布计划。
- 2015 年第四季度
- 控制台包 - 命令行应用程序 [延迟]
- HTTP 包 - 更新以支持 PSR-7
- MVC 包 - 模型-视图-控制器应用程序 [延迟至 PSR-7]
- 管道包 - 管道命令流
- 2016 年第一季度
- CommandBus 包 - 命令总线层
- 队列包 - 队列、作业和工作者服务
- 会话包 - 自定义会话处理程序
- 2016 年第二季度
- 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的对象”等。此问题的主要原因是在子文件夹中运行类型检查器,而不是在根目录,因此所有这些类都不在作用域内。如果类型检查器在源根目录中运行,则不应出现此问题。