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.
 
 
韩天峰 af0e5df4ae fix(php): 修复trait适配器中的修饰符处理逻辑 4 months ago
bin feat(compiler): 实现常量值解析和类型安全的值生成 4 months ago
cases 更新 1 year ago
config php2cpp init 2 years ago
docs docs(syntax): 更新不支持语法文档并添加新测试用例 5 months ago
examples fix(generator): 解决接口中trait使用解析问题并完善trait别名处理 4 months ago
phpunit refactor(compiler): 优化编译器类方法处理逻辑 5 months ago
src fix(php): 修复trait适配器中的修饰符处理逻辑 4 months ago
tests fix(trait): 修复trait方法冲突处理问题 4 months ago
web fix 3 years ago
.clang-format update 8 months ago
.gitignore feat(compiler): 添加对ThinkPHP和Laravel项目的编译支持 5 months ago
.php-cs-fixer.dist.php fix(php): 修复字符串字面量优化导致eval函数执行异常 4 months ago
ast.py 支持目录处理 8 months ago
cli.php 命令行参数 8 months ago
composer.json feat(compiler): 添加项目配置文件支持和编译选项扩展 7 months ago
composer.lock feat(compiler): 添加项目配置文件支持和编译选项扩展 7 months ago
conv.php init 3 years ago
dump.py init 3 years ago
mv.php mv.php 移至根目录,非 compiler 工具 5 months ago
phpunit.xml feat(compiler): 添加测试模式和静态变量重复检测功能 5 months ago
py2php.php op 3 years ago
rounds.txt update 8 months ago
run-tests.php test(named_args): 添加命名参数功能测试用例 5 months ago

docs/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