PHPackages                             hail/framework - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. hail/framework

ActiveLibrary[Framework](/categories/framework)

hail/framework
==============

PHP 7.1 Framework

v0.7.38(2y ago)51461[5 issues](https://github.com/hail-framework/framework/issues)MITPHPPHP &gt;=7.1.0

Since Dec 28Pushed 2y ago1 watchersCompare

[ Source](https://github.com/hail-framework/framework)[ Packagist](https://packagist.org/packages/hail/framework)[ Docs](http://framework.flyinghail.com/)[ RSS](/packages/hail-framework/feed)WikiDiscussions master Synced 4d ago

READMEChangelog (10)Dependencies (7)Versions (42)Used By (0)

Hail-Framework
==============

[](#hail-framework)

[![Latest Stable Version](https://camo.githubusercontent.com/e1665e887773b2c962936dd311ceade3c0eaf209e625bed5e106236f73a304a7/68747470733a2f2f706f7365722e707567782e6f72672f6861696c2f6672616d65776f726b2f76657273696f6e)](https://packagist.org/packages/hail/framework)[![Latest Unstable Version](https://camo.githubusercontent.com/66c1472a232e9fbdf92b9ab2820d5a0baf141657e97df2b501e63f488587493b/68747470733a2f2f706f7365722e707567782e6f72672f6861696c2f6672616d65776f726b2f762f756e737461626c65)](//packagist.org/packages/hail/framework)[![Total Downloads](https://camo.githubusercontent.com/5b2d1c7a36a0379e0795c1b1d5cab71f25f391cb1a86cd39447bfe5b4e8b11a2/68747470733a2f2f706f7365722e707567782e6f72672f6861696c2f6672616d65776f726b2f646f776e6c6f616473)](https://packagist.org/packages/hail/framework)[![Monthly Downloads](https://camo.githubusercontent.com/aa0a445e163e6ac14693cb5d3a3bfe0247c94775324e2c3a7630df38596d37e9/68747470733a2f2f706f7365722e707567782e6f72672f6861696c2f6672616d65776f726b2f642f6d6f6e74686c79)](https://packagist.org/packages/hail/framework)[![License](https://camo.githubusercontent.com/b261df9f20e53b34b684be3d2ae67d290b8777989f410315a870ab5a73065c40/68747470733a2f2f706f7365722e707567782e6f72672f6861696c2f6672616d65776f726b2f6c6963656e7365)](https://packagist.org/packages/hail/framework)

基于 PHP 7.1 的 MVC 框架

Installation
------------

[](#installation)

### Composer (recommended)

[](#composer-recommended)

```
composer require "hail/framework:dev-master"
```

框架设计
----

[](#框架设计)

### 设计方向

[](#设计方向)

1. 尽可能使用最新的 PHP
2. 减少依赖，除非十分必要不会 composer 依赖其他库
3. 第一目标是方便使用，其次才是功能覆盖
4. 持续优化，对代码效率时刻保持关注
5. 使用 PHP 扩展得到更好的性能
6. 使用 Zephir 将框架编译为扩展

### PHP版本依赖

[](#php版本依赖)

- PHP 版本更新往往会带来性能、代码质量、开发效率的提高，所以框架希望尽可能的使用最新的版本
- 框架 1.0 之前，有极大的可能使用最新的 PHP 版本
- 框架 1.0 之后，当有新的 PHP 版本发布，会审视新版本对性能和开发的影响，再确定是否提高依赖
- 当 PHP 版本依赖提高之后，主要开发将基于最新版本进行，并保留一个老版本的分支，只进行必要的维护

### 库的依赖

[](#库的依赖)

- 尽可能减少 composer 依赖
    1. 有的库过于复杂，希望能够进行简化
    2. 依赖库的功能可能并不是全部都想要的，避免引入无用的文件
    3. 依赖可能会产生风险
- 框架会引入第三方代码，并进行适当的修改以符合框架本身设计与功能需求
- 这些代码权理所当然依然属于库作者自己，引入中会尽量保留作者的版权声明，如果有遗漏请提醒:

### Zephir

[](#zephir)

- Zephir 是 PHP 开发很好的补充，不过只有当框架已经比较完善的基础上，才会尝试使用 Zephir 提高性能
- 在打开 Opcache 的情况下， PHP 本身已经相当快，一些简单的功能，并不会比使用 C 扩展慢很多
- 如果您追求极致的性能，可以先试试： [Phalcon](http://phalconphp.com/) ([github](https://github.com/phalcon/cphalcon)) 或者 [Ice](http://www.iceframework.org/) ([github](https://github.com/ice/framework))

### Implements PSR

[](#implements-psr)

- [PSR-2 Coding Style Guide](https://www.php-fig.org/psr/psr-2/)
- [PSR-3 Logger Interface](https://www.php-fig.org/psr/psr-3/)
- [PSR-4 Autoloading Standard](https://www.php-fig.org/psr/psr-4/)
- [PSR-6 Caching Interface](https://www.php-fig.org/psr/psr-6/)
- [PSR-7 HTTP message interfaces](https://www.php-fig.org/psr/psr-7/)
- [PSR-11 Container Interface](https://www.php-fig.org/psr/psr-11/)
- [PSR-14 Event Manager](https://www.php-fig.org/psr/psr-14/)
- [PSR-15 HTTP Handlers](https://www.php-fig.org/psr/psr-15/)
- [PSR-16 Simple Cache](https://www.php-fig.org/psr/psr-16/)
- [PSR-17 HTTP Factories](https://www.php-fig.org/psr/psr-17/)
- [PSR-18 HTTP Client](https://www.php-fig.org/psr/psr-18/)

Features
--------

[](#features)

### Optimize &amp; OptimizeTrait

[](#optimize--optimizetrait)

- 自动选择 PHP 缓存 extension： \['yac', 'pcache', 'xcache', 'wincache', 'apcu'\]，类内缓存，最大限度的减少性能损失

### Config

[](#config)

- 可以使用 Yaml 或者 PHP 进行配置
- 优先使用 [yaml extension](http://pecl.php.net/package/yaml)
- 从 Yaml 生成 PHP 配置缓存，避免重复解析 Yaml 结构
- 使用 OptimizeTrait 减少文件读取带来的性能损失

### Factory

[](#factory)

- 基于配置构造对象
- 继承框架的默认配置
- 同配置从 Factory 得到的对象唯一

### Container &amp; Dependency Injection

[](#container--dependency-injection)

- 基于配置预生成静态 Container，性能几乎等同于手写代码
- 可动态配置、添加、替换已有的 Component
- 基于 Reflection 进行依赖注入，不支持 auto-wiring，所有依赖必须是基于已配置的 Component

### Router

[](#router)

- 基于树形结构，查询一个节点的时间复杂度为 O(log n)，速度均匀，没有所谓的最坏情况
- 支持参数和单节点的正则匹配
- 利用 \['app', 'controller', 'action'\] 参数调用框架 Controller，也可以使用 Clouser
- 使用 OptimizeTrait 缓存路由树结构，避免每次访问重新构造路由表

### I18N

[](#i18n)

- 使用 gettext 处理多语言
- 优先使用 [gettext extension](http://php.net/manual/gettext.installation.php)

### Database

[](#database)

- 通过 PDO 支持 MySQL、PostgreSQL、Sybase、Oracle、SQL Server、Sqlite
- 基于数组生成 SQL 语句，自动 prepare
- 提供简单 ORM 支持 *\[未测试\]*
- 基于命令行提供 Migration 工具 *\[未测试\]*
- 基于 [swoole](https://github.com/swoole/swoole-src) 的连接池 *\[未测试\]*

### Redis

[](#redis)

- 简单的 PHP Native Redis Client
- 优先使用 [phpredis extension](http://pecl.php.net/package/redis/)
- 支持 Redis Cluster *\[未测试\]*
- 支持 Redis Sentinel *\[未测试\]*
- 基于 [swoole](https://github.com/swoole/swoole-src) 的连接池 *\[未测试\]*

### Template

[](#template)

- 直接使用原生 PHP 作为模板语言
- 使用 VUE.js 作为默认的 JS 动态处理库
- 支持编译 VUE.js 模板语法为 PHP 语句 (使用 v-php 标注） *\[未测试\]*
- h:\* HTML属性模板语法, 灵感来自 [Latte](https://github.com/nette/latte) *\[todo\] \[未测试\]*

### Swoole

[](#swoole)

- 基于命令行的 Http Server *\[未测试\]*

### Pool

[](#pool)

- 单进程内连接池，，非 swoole 协程环境下没有意义

### Console

[](#console)

- 基于命令行工具进行项目优化、Migration、服务管理等

Useful Libraries
----------------

[](#useful-libraries)

项目中如果有需要可以自行 composer 安装

- [Mobile Detect](https://github.com/serbanghita/Mobile-Detect) 通过 User-Agent 和 header 检测移动设备
- [Crawler Detect](https://github.com/JayBizzle/Crawler-Detect) 通过 User-Agent 和 header 检测爬虫
- [Spout](https://github.com/box/spout) 读写 Excel 文件 (CSV, XLSX, ODS)，速度快，支持超大文件，占用内存小

Extensions
----------

[](#extensions)

### Required

[](#required)

- [mbstring](http://php.net/manual/book.mbstring.php)

### Suggest

[](#suggest)

- [intl](http://php.net/manual/book.intl.php) 部分字符串处理函数和 CLI 命令中使用
- [iconv](http://php.net/manual/book.iconv.php) 部分字符串处理函数中使用
- [openssl](http://php.net/manual/book.openssl.php) 基于 RSA/AES 加/解密 和 JWT 中使用 RS 签名
- [fileinfo](http://php.net/manual/book.fileinfo.php) MimeType 判断和图像处理中使用
- [curl](http://php.net/manual/book.curl.php) 基于 Curl 的 HTTP 客户端
- [imagick](http://php.net/manual/book.imagick.php) 基于 ImageMagick 的图像处理
- [gd](http://php.net/manual/book.gd.php) 基于 GD 的图像处理
- [ftp](http://php.net/manual/book.ftp.php) 文件系统中支持 FTP
- [gmp](http://php.net/manual/book.gmp.php) JWT 中使用 ES 签名

### Performance

[](#performance)

- [psr](http://pecl.php.net/package/psr) 提供 PSR Interface
- [seaslog](http://pecl.php.net/package/SeasLog) 提高 Logger 性能
- [swoole](https://github.com/swoole/swoole-src) 基于 swoole 的服务器，连接池

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~47 days

Recently: every ~242 days

Total

40

Last Release

831d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/157430?v=4)[FENG Hao](/maintainers/flyinghail)[@flyinghail](https://github.com/flyinghail)

---

Top Contributors

[![flyinghail](https://avatars.githubusercontent.com/u/157430?v=4)](https://github.com/flyinghail "flyinghail (208 commits)")

---

Tags

composerframeworkphppsrframeworkmvcHail

### Embed Badge

![Health badge](/badges/hail-framework/health.svg)

```
[![Health](https://phpackages.com/badges/hail-framework/health.svg)](https://phpackages.com/packages/hail-framework)
```

###  Alternatives

[cakephp/cakephp

The CakePHP framework

8.8k18.5M1.6k](/packages/cakephp-cakephp)[laravel/framework

The Laravel Framework.

34.6k509.9M17.0k](/packages/laravel-framework)[symfony/symfony

The Symfony PHP framework

31.3k86.3M2.2k](/packages/symfony-symfony)[neos/flow

Flow Application Framework

862.0M451](/packages/neos-flow)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[neos/flow-development-collection

Flow packages in a joined repository for pull requests.

144179.3k3](/packages/neos-flow-development-collection)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
