TypePHP 编译器 https://swoole.com/aot/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
韩天峰 19164e92bc docs(compiler): 添加AOT编译速度优化研究文档并完善测试用例 2 months ago
..
AOT_BUILD_SPEED_RESEARCH.md docs(compiler): 添加AOT编译速度优化研究文档并完善测试用例 2 months ago
CLASS_INHERITANCE.md docs: 添加 AOT 编译器类继承规则文档和预览版使用须知 4 months ago
COMPILATION_MODES.md docs: 添加 AOT 编译器文档集 5 months ago
COMPILER_CLI.md refactor(backend): 将调试配置选项从 debug_info 统一更改为 debug 4 months ago
GMP_GAP.md BitInt 支持位运算操作符 3 months ago
HIGH_PRECISION_TYPES.md docs: 添加 AOT 编译器高精度类型和通用方法使用教程 3 months ago
MIXED_CPP_PHP.md docs: 添加 PHP 与 C++ 混合编程指南并完善原生类型文档 5 months ago
NATIVE_TYPES.md fix(compiler): 解决对象属性类型检查和赋值操作问题 3 months ago
PATENT_01_CPP_TEMPLATE_TYPED_CONTAINER.md docs: 添加两项专利申请技术交底书 3 months ago
PATENT_02_HYBRID_STATE_PROGRAMMING_LANGUAGE.md docs: 添加两项专利申请技术交底书 3 months ago
QUICKSTART.md docs: 添加 AOT 编译器文档集 5 months ago
README.md docs: 添加 AOT 编译器文档集 5 months ago
STD_CONTAINERS.md docs(std): 添加 STD 容器文档说明 4 months ago
UNIVERSAL_METHODS.md docs: 添加 AOT 编译器高精度类型和通用方法使用教程 3 months ago
UNSUPPORTED_SYNTAX.md test(phpunit): 添加抽象类和私有方法重写的测试用例 2 months ago
aot-optimization-priority.md docs(aot): 添加 AOT 编译器优化优先级和 PHP 源码优化器分析文档 3 months ago
hhvm-review.md docs: 添加 HHVM/HHBBC 和 KPHP 编译器技术调研文档 3 months ago
kphp-review.md docs: 添加 HHVM/HHBBC 和 KPHP 编译器技术调研文档 3 months ago
peachpie-review.md docs: 添加 HHVM/HHBBC 和 KPHP 编译器技术调研文档 3 months ago
php-src-optimizer-analysis.md docs(aot): 添加 AOT 编译器优化优先级和 PHP 源码优化器分析文档 3 months ago
phpstan-design-analysis.md docs(aot): 添加 AOT 编译器优化优先级和 PHP 源码优化器分析文档 3 months ago

README.md

PHP AOT 编译器文档索引

📚 文档概览

本文档集合为 PHP AOT (Ahead-Of-Time) 编译器提供完整的使用指南和技术参考。


📖 核心文档

1. 语法支持规范

必读指数:

详细说明:

  • 已支持的 PHP 语法特性(50+ 个)
  • 不支持的语法(7 种)
  • 计划支持的语法(2 种)
  • 📊 编译模式对比表
  • 💡 代码结构最佳实践

适合人群: 所有使用者


2. 快速入门指南

必读指数:

内容概要:

  • 🚀 5 分钟快速开始
  • 📦 安装和配置
  • 🔧 基本使用示例
  • 🎯 第一个 AOT 编译项目

适合人群: 新手用户


3. 编译模式详解

必读指数:

内容概要:

  • 🔹 扩展模式(Extension Mode)

    • 编译为 .so/.dll 文件
    • 在 php-fpm 中加载
    • Web 应用场景
  • 🔸 二进制模式(Binary Mode)

    • 编译为独立可执行文件
    • main() 函数要求
    • CLI 和服务端应用

适合人群: 开发者、架构师


4. 测试指南

必读指数:

内容概要:

  • 🧪 运行测试的方法
  • 📝 编写 phpt 测试文件
  • 测试规范和最佳实践
  • 🔍 调试测试失败
  • 📊 测试覆盖率分析

适合人群: 测试人员、贡献者


5. 性能优化指南

必读指数:

内容概要:

  • 编译优化选项
  • 🎯 运行时性能调优
  • 📈 基准测试方法
  • 💾 内存管理策略

适合人群: 高级用户、性能工程师


6. 故障排除

必读指数:

内容概要:

  • 常见错误和解决方案
  • 🔧 调试技巧
  • 💬 FAQ 常见问题
  • 🆘 获取帮助

适合人群: 所有使用者


7. 架构设计

必读指数:

内容概要:

  • 🏗 编译器架构概述
  • 📐 设计理念和原则
  • 🔗 组件和模块说明
  • 📊 数据流和工作流程

适合人群: 贡献者、研究者


8. 贡献指南

必读指数:

内容概要:

  • 🤝 如何贡献代码
  • 📝 提交 PR 的流程
  • 🎨 代码规范
  • 🧪 测试要求

适合人群: 贡献者


🎯 快速导航

按使用场景

我想开始使用 AOT 编译器

  1. 阅读 快速入门指南
  2. 查看 语法支持规范 了解限制
  3. 参考 编译模式详解 选择模式

我想运行测试

  1. 阅读 测试指南
  2. 使用 php run-tests.php --no-aot tests/aot/ 命令
  3. 遇到问题查看 故障排除

我想优化性能

  1. 阅读 性能优化指南
  2. 查看基准测试结果
  3. 应用优化建议

我想贡献代码

  1. 阅读 贡献指南
  2. 了解 架构设计
  3. Fork 项目并提交 PR

📋 文档维护

文档位置

  • 所有 .md 文档必须放在 docs/ 目录下
  • 不要在其他目录创建文档文件

文档更新

  • 保持文档与代码同步
  • 重大变更需要更新相关文档
  • 添加更新日期和版本信息

文档质量

  • 使用清晰的标题和结构
  • 包含代码示例
  • 提供实际可运行的示例
  • 使用中文编写(除非特殊需要)

🔗 外部资源


📞 联系方式


📜 许可证

本文档遵循 MIT License


最后更新: 2024 年 3 月 18 日
文档版本: v1.0
适用版本: PHP AOT Compiler v1.x