docs: add acknowledgements documentation for TypePHP project

- Created English acknowledgements document recognizing core developers and contributors
- Added comprehensive list of Git contributors with their specific areas of contribution
- Included community and ecosystem contributors who helped with testing and outreach
- Documented foundational projects like GCC, Clang/LLVM, MSVC, ISO C++ committee, PHP
- Listed supporting libraries such as PHPX, Composer, CLImate, TopSort, Symfony components
- Added Chinese translation of the acknowledgements document
- Recognized contributors for PHP semantic compatibility, type system, optimization work
master
韩天峰 2 hours ago
parent 1df976ecf1
commit f283913d79
  1. 142
      docs/en/ACKNOWLEDGEMENTS.md
  2. 126
      docs/zh-cn/ACKNOWLEDGEMENTS.md

@ -0,0 +1,142 @@
# Acknowledgements
TypePHP is built on decades of work by language designers, compiler engineers,
runtime developers, standards contributors, maintainers, and open-source
communities. The project would not be possible without the foundations they
created and continue to improve.
## Project developers and contributors
### Core development
- **[Tianfeng Han (matyhtf)](https://github.com/matyhtf)** — primary developer
and maintainer, responsible for the overall compiler architecture, PHP-to-C++
lowering, type system, runtime integration, build system, and project
direction.
### Contributors recorded in the Git history
The following people are identified from the author metadata in the repository.
Aliases belonging to the same person have been combined. The order follows the
amount of recorded repository activity only for consistency; it is not a
ranking of the value of anyone's contribution.
| Contributor | Areas of contribution |
| --- | --- |
| **[Yurun](https://github.com/Yurunsoft)** | PHP semantic compatibility, type and reference correctness, traits, generators, class behavior, Windows support, and compiler diagnostics |
| **[NathanFreeman](https://github.com/NathanFreeman)** | Strict types, Zend VM call safety, request initialization, dynamic call validation, and control-flow correctness |
| **[hafung](https://github.com/hafung)** | Optimizer correctness, strict built-in calls, and safe evaluation of compound array-offset operations |
| **[Lucas Raineri Giandon (Giandonn)](https://github.com/Giandonn)** | Optimizer safety and PHP-compatible behavior for argument unpacking, `count()`, `intval()`, and `class_exists()` |
| **[Alessio Giacobbe](https://github.com/AlessioGiacobbe)** | Parser, name resolution, control flow, trait composition, and preservation of expression side effects |
| **[yangweijie](https://github.com/yangweijie)** | Compilation caching and performance work, build-related improvements, documentation, and real-project examples |
| **[Lorenzo Dessimoni (FunkyOz)](https://github.com/FunkyOz)** | English documentation for intentionally incompatible PHP features |
| **[Pratik Bhujel](https://github.com/prateekbhujel)** | Portable float literal generation, including `INF` and `NAN` handling |
| **[原点 (yuan-dian)](https://github.com/yuan-dian)** | `gen_stub` union-type name generation and Zend type metadata correctness |
Git author metadata cannot capture every form of contribution. Reviewers,
issue reporters, testers, documentation writers, and community members will be
added as the acknowledgement record is expanded.
### Community and ecosystem contributors
Contributions to TypePHP are not limited to commits. Testing real projects,
reporting and reproducing bugs, creating derivative open-source projects,
writing technical content, and introducing TypePHP to a wider audience all
help the project grow. We also thank:
- **夏枫**
- **[Tinywan](https://github.com/Tinywan)** ([开源技术小栈](https://www.tinywan.com/))
- **A000001**
- **青青子衿**
- **大星**
- **[原点](https://github.com/yuan-dian)**
- **Elijah**
- **小尹**
- **[杨维杰](https://github.com/yangweijie)**
- **Albert Chen**
- **[Nuno Maduro (`nunomaduro`)](https://x.com/enunomaduro)** — for sharing
TypePHP with the wider PHP community on Twitter/X.
Some people in this section also appear in the Git contributor list. They are
mentioned again here to recognize their testing, community, ecosystem, or
outreach contributions separately from authored commits.
## Foundational projects and standards
We would especially like to thank:
1. **[GCC — the GNU Compiler Collection](https://gcc.gnu.org/)**
GCC compiles and optimizes the C++ generated by TypePHP on GNU/Linux and
other supported targets. Its mature optimizer, linker integration, platform
support, and diagnostics are fundamental to TypePHP's AOT toolchain.
2. **[Clang/LLVM](https://llvm.org/)**
LLVM and Clang provide a modern C++ compiler infrastructure, high-quality
diagnostics, optimization technology, and tooling used across TypePHP's
supported platforms, including macOS and WebAssembly-related toolchains.
3. **[Microsoft Visual C++ (MSVC)](https://visualstudio.microsoft.com/vs/features/cplusplus/)**
MSVC provides the native C++ compiler, linker, runtime libraries, and Windows
SDK integration that make the TypePHP toolchain and generated applications
available on Windows.
4. **[ISO C++ Standards Committee (WG21)](https://www.open-std.org/jtc1/sc22/wg21/)**
TypePHP generates portable modern C++. We thank the members and contributors
of WG21 for specifying, reviewing, and evolving the C++ language and standard
library on which the generated code and PHPX abstractions rely.
5. **[PHP](https://www.php.net/) and the [PHP core development team](https://www.php.net/credits.php)**
PHP defines the language semantics that TypePHP implements. The PHP core
developers maintain the Zend Engine, runtime APIs, standard library,
compatibility behavior, source code, and test suite that serve as the
authoritative reference for TypePHP.
6. **[PHP-Parser](https://github.com/nikic/PHP-Parser), created by [Nikita Popov](https://github.com/nikic)**
PHP-Parser provides the reliable PHP parser and abstract syntax tree on which
TypePHP's analysis, validation, lowering, and C++ code generation pipeline is
built. We thank Nikita Popov and every PHP-Parser contributor and maintainer.
## Supporting libraries and development tools
TypePHP also benefits from many focused open-source projects used by the
compiler, command-line tools, build workflow, and quality-assurance process:
- **[PHPX](https://github.com/swoole/phpx)** provides the C++ abstractions over
the Zend API used by generated programs and TypePHP's runtime integration.
- **[Composer](https://getcomposer.org/)** provides dependency management,
autoloading, package distribution, and the `vendor/bin` compiler entry point.
- **[CLImate](https://github.com/thephpleague/climate)** provides structured,
readable command-line output and compiler diagnostics.
- **[TopSort](https://github.com/marcj/topsort.php)** provides topological
sorting used to resolve declaration and dependency order.
- **[Symfony YAML](https://symfony.com/components/Yaml)** parses TypePHP project
configuration and WASI build configuration files.
- **[Symfony VarDumper](https://symfony.com/components/VarDumper)** supports
readable inspection of compiler data structures during development and
diagnostics.
- **[AnsiKit](https://github.com/ajaxray/AnsiKit)** provides terminal styling
and progress display helpers for compiler output.
- **[PHPUnit](https://phpunit.de/)** provides the unit and compiler
code-generation test framework.
- **[PHPStan](https://phpstan.org/)** provides static analysis for the compiler's
PHP implementation.
- **[PHP CS Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)** helps maintain
a consistent PHP coding style across the project.
The PHP DOM and PCNTL extensions used by parts of the toolchain are included in
our broader thanks to the PHP core and extension maintainers above.
We are grateful to all contributors to these projects, including those whose
work is not individually named here. Their commitment to open standards,
portable toolchains, language compatibility, and open-source software makes
TypePHP possible.
The names and trademarks listed above belong to their respective owners. This
acknowledgement expresses gratitude and does not imply endorsement of TypePHP by
any listed project, organization, or contributor.

@ -0,0 +1,126 @@
# 致谢
TypePHP 建立在语言设计者、编译器工程师、运行时开发者、标准委员会成员、维护者
以及开源社区数十年的工作成果之上。没有他们建立并持续完善的基础设施,就不会有
TypePHP。
## 项目开发者与贡献者
### 核心开发
- **[韩天峰(matyhtf)](https://github.com/matyhtf)** —— 主要开发者和维护者,负责
编译器整体架构、PHP 到 C++ 的降级转换、类型系统、运行时集成、构建系统及项目
方向。
### Git 历史中记录的贡献者
以下名单根据仓库中的 Git 作者信息整理,同一人的不同历史署名已经合并。名单仅按
仓库所记录的贡献活跃度排列,以便保持一致;这并不代表对贡献价值的排名。
| 贡献者 | 主要贡献领域 |
| --- | --- |
| **[Yurun](https://github.com/Yurunsoft)** | PHP 语义兼容、类型与引用正确性、Trait、Generator、类行为、Windows 支持及编译诊断 |
| **[NathanFreeman](https://github.com/NathanFreeman)** | 严格类型、Zend VM 调用安全、请求初始化、动态调用校验及控制流正确性 |
| **[hafung](https://github.com/hafung)** | 优化器正确性、内置函数严格参数语义及复合数组下标操作的安全求值 |
| **[Lucas Raineri Giandon(Giandonn)](https://github.com/Giandonn)** | 参数展开、`count()`、`intval()`、`class_exists()` 等路径的优化安全与 PHP 兼容行为 |
| **[Alessio Giacobbe](https://github.com/AlessioGiacobbe)** | Parser、名称解析、控制流、Trait 组合及表达式副作用保留 |
| **[yangweijie](https://github.com/yangweijie)** | 编译缓存与性能优化、构建改进、文档及真实项目示例 |
| **[Lorenzo Dessimoni(FunkyOz)](https://github.com/FunkyOz)** | PHP 有意不兼容特性的英文文档 |
| **[Pratik Bhujel](https://github.com/prateekbhujel)** | 可移植浮点数字面量生成,包括 `INF``NAN` 处理 |
| **[原点(yuan-dian)](https://github.com/yuan-dian)** | `gen_stub` 联合类型名称生成及 Zend 类型元数据正确性 |
Git 作者信息无法涵盖所有贡献形式。随着致谢记录继续完善,我们还会补充代码审查者、
Issue 报告者、测试者、文档作者及社区参与者。
### 社区与生态贡献者
对 TypePHP 的贡献并不局限于代码提交。使用真实项目参与测试、报告和复现 Bug、开发
衍生开源项目、撰写技术内容,以及向更多开发者介绍 TypePHP,都在推动项目不断成长。
我们同样感谢:
- **夏枫**
- **[Tinywan](https://github.com/Tinywan)**([开源技术小栈](https://www.tinywan.com/))
- **A000001**
- **青青子衿**
- **大星**
- **[原点](https://github.com/yuan-dian)**
- **Elijah**
- **小尹**
- **[杨维杰](https://github.com/yangweijie)**
- **Albert Chen**
- **[Nuno Maduro(`nunomaduro`)](https://x.com/enunomaduro)** —— 感谢其通过
Twitter/X 向更广泛的 PHP 社区介绍 TypePHP。
本节中的部分贡献者也出现在 Git 贡献者名单中;这里再次列名,是为了单独感谢他们在
测试、社区、生态建设或项目传播方面的贡献。
## 基础项目与标准
我们特别感谢:
1. **[GCC(GNU Compiler Collection)](https://gcc.gnu.org/)**
GCC 在 GNU/Linux 及其他受支持的目标平台上编译和优化 TypePHP 生成的 C++
代码。其成熟的优化器、链接器集成、平台支持和诊断能力,是 TypePHP AOT
工具链的重要基础。
2. **[Clang/LLVM](https://llvm.org/)**
LLVM 和 Clang 提供了现代 C++ 编译基础设施、高质量诊断、优化技术及配套工具,
支撑 TypePHP 的多个目标平台,包括 macOS 和 WebAssembly 相关工具链。
3. **[Microsoft Visual C++(MSVC)](https://visualstudio.microsoft.com/vs/features/cplusplus/)**
MSVC 提供原生 C++ 编译器、链接器、运行时库及 Windows SDK 集成,使 TypePHP
工具链及其生成的应用程序能够运行于 Windows 平台。
4. **[ISO C++ 标准委员会(WG21)](https://www.open-std.org/jtc1/sc22/wg21/)**
TypePHP 生成可移植的现代 C++ 代码。感谢 WG21 的成员和所有参与者持续制定、
审议并推动 C++ 语言及标准库的发展;TypePHP 生成的代码和 PHPX 抽象均建立在
这些标准之上。
5. **[PHP 语言](https://www.php.net/)及 [PHP 内核开发组](https://www.php.net/credits.php)**
PHP 定义了 TypePHP 所实现的语言语义。PHP 内核开发者维护 Zend Engine、运行时
API、标准库、兼容行为、源代码和测试套件,它们是 TypePHP 实现 PHP 兼容性的
权威参考。
6. **[PHP-Parser](https://github.com/nikic/PHP-Parser) 及其创建者 [Nikita Popov](https://github.com/nikic)**
PHP-Parser 为 TypePHP 提供可靠的 PHP 解析器和抽象语法树,是语义分析、校验、
降级转换及 C++ 代码生成流程的基础。感谢 Nikita Popov,以及 PHP-Parser 的每一位
贡献者和维护者。
## 辅助库与开发工具
TypePHP 的编译器、命令行工具、构建流程和质量保障体系还使用了许多职责明确的
开源项目:
- **[PHPX](https://github.com/swoole/phpx)** 提供 Zend API 的 C++ 抽象,是生成程序
和 TypePHP 运行时集成的基础。
- **[Composer](https://getcomposer.org/)** 提供依赖管理、自动加载、软件包分发以及
`vendor/bin` 编译器入口。
- **[CLImate](https://github.com/thephpleague/climate)** 提供结构清晰、易于阅读的
命令行输出和编译诊断。
- **[TopSort](https://github.com/marcj/topsort.php)** 提供拓扑排序,用于解析声明及
依赖关系的顺序。
- **[Symfony YAML](https://symfony.com/components/Yaml)** 负责解析 TypePHP 项目配置和
WASI 构建配置文件。
- **[Symfony VarDumper](https://symfony.com/components/VarDumper)** 在开发和诊断过程中
帮助清晰地检查编译器内部数据结构。
- **[AnsiKit](https://github.com/ajaxray/AnsiKit)** 为编译器输出提供终端样式和进度显示
组件。
- **[PHPUnit](https://phpunit.de/)** 提供单元测试及编译器代码生成测试框架。
- **[PHPStan](https://phpstan.org/)** 对编译器的 PHP 实现执行静态分析。
- **[PHP CS Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)** 帮助项目保持一致的
PHP 代码风格。
工具链中使用的 PHP DOM 和 PCNTL 扩展,已包含在前文对 PHP 内核及扩展维护者的
整体致谢中。
我们同样感谢上述项目中所有未能逐一列名的贡献者。正是他们对开放标准、可移植
工具链、语言兼容性和开源软件的长期投入,使 TypePHP 成为可能。
上述名称和商标归各自权利人所有。本致谢仅用于表达感谢,不表示任何项目、组织或
贡献者对 TypePHP 的认可、担保或背书。
Loading…
Cancel
Save