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.
|
|
2 months ago | |
|---|---|---|
| .. | ||
| AOT_BUILD_SPEED_RESEARCH.md | 2 months ago | |
| BACKEND_NEUTRAL_IR.md | 2 months ago | |
| CLASS_INHERITANCE.md | 4 months ago | |
| COMPILATION_MODES.md | 5 months ago | |
| COMPILER_CLI.md | 2 months ago | |
| COMPILE_TIME_FUNCTIONS.md | 2 months ago | |
| GMP_GAP.md | 3 months ago | |
| HIGH_PRECISION_TYPES.md | 3 months ago | |
| INCOMPATIBLE_PHP_FEATURES.md | 2 months ago | |
| MIXED_CPP_PHP.md | 5 months ago | |
| NATIVE_TYPES.md | 3 months ago | |
| PATENT_01_CPP_TEMPLATE_TYPED_CONTAINER.md | 2 months ago | |
| PATENT_02_HYBRID_STATE_PROGRAMMING_LANGUAGE.md | 3 months ago | |
| PHP_INCOMPATIBILITY_CLASSIFICATION.md | 2 months ago | |
| QUICKSTART.md | 5 months ago | |
| README.md | 2 months ago | |
| REFACTORING_PLAN.md | 2 months ago | |
| STD_CONTAINERS.md | 2 months ago | |
| UNIVERSAL_METHODS.md | 3 months ago | |
| YIELD_GENERATOR.md | 2 months ago | |
| aot-optimization-priority.md | 3 months ago | |
| hhvm-review.md | 3 months ago | |
| kphp-review.md | 3 months ago | |
| peachpie-review.md | 3 months ago | |
| php-src-optimizer-analysis.md | 3 months ago | |
| phpstan-design-analysis.md | 3 months ago | |
README.md
PHP AOT 编译器文档索引
📚 文档概览
本文档集合为 PHP AOT (Ahead-Of-Time) 编译器提供完整的使用指南和技术参考。
📖 核心文档
1. 语法支持规范
必读指数: ⭐⭐⭐⭐⭐
详细说明:
- ✅ 已支持的 PHP 语法特性(50+ 个)
- ❌ 不支持的语法(7 种)
- ⏳ 计划支持的语法(2 种)
- 📊 编译模式对比表
- 💡 代码结构最佳实践
适合人群: 所有使用者
1.1 AOT 与 PHP 不兼容特性清单
必读指数: ⭐⭐⭐⭐⭐
内容概要:
- 当前 AOT 与标准 PHP 的关键不兼容点
- 编译期限制、运行时动态能力限制、AOT 扩展类型限制
- 仅保留简明列表,不包含示例和长篇解释
适合人群: 所有使用者、框架适配者
1.2 AOT 编译期函数与关键词方法
必读指数: ⭐⭐⭐⭐
内容概要:
- AOT 专用编译期函数清单
any()、refval()、objval()的语义和限制toAny()、toRef()等关键词方法- 当前实现风险和后续统一方向
适合人群: 所有使用者、贡献者、框架适配者
2. 快速入门指南
必读指数: ⭐⭐⭐⭐⭐
内容概要:
- 🚀 5 分钟快速开始
- 📦 安装和配置
- 🔧 基本使用示例
- 🎯 第一个 AOT 编译项目
适合人群: 新手用户
3. 编译模式详解
必读指数: ⭐⭐⭐⭐
内容概要:
-
🔹 扩展模式(Extension Mode)
- 编译为 .so/.dll 文件
- 在 php-fpm 中加载
- Web 应用场景
-
🔸 二进制模式(Binary Mode)
- 编译为独立可执行文件
- main() 函数要求
- CLI 和服务端应用
适合人群: 开发者、架构师
4. 测试指南
必读指数: ⭐⭐⭐⭐
内容概要:
- 🧪 运行测试的方法
- 📝 编写 phpt 测试文件
- ✅ 测试规范和最佳实践
- 🔍 调试测试失败
- 📊 测试覆盖率分析
适合人群: 测试人员、贡献者
5. 性能优化指南
必读指数: ⭐⭐⭐
内容概要:
- ⚡ 编译优化选项
- 🎯 运行时性能调优
- 📈 基准测试方法
- 💾 内存管理策略
适合人群: 高级用户、性能工程师
6. 故障排除
必读指数: ⭐⭐⭐⭐
内容概要:
- ❗ 常见错误和解决方案
- 🔧 调试技巧
- 💬 FAQ 常见问题
- 🆘 获取帮助
适合人群: 所有使用者
7. 架构设计
必读指数: ⭐⭐⭐
内容概要:
- 🏗️ 编译器架构概述
- 📐 设计理念和原则
- 🔗 组件和模块说明
- 📊 数据流和工作流程
适合人群: 贡献者、研究者
8. 贡献指南
必读指数: ⭐⭐⭐
内容概要:
- 🤝 如何贡献代码
- 📝 提交 PR 的流程
- 🎨 代码规范
- 🧪 测试要求
适合人群: 贡献者
9. 核心重构计划
必读指数: ⭐⭐⭐⭐
内容概要:
- 核心类职责拆分方向
- TypeSystem、SymbolResolver、PropertyAccessResolver、CallResolver 等模块规划
- 渐进式重构阶段计划
- 测试门禁和风险控制要求
适合人群: 核心开发者、架构重构参与者
🎯 快速导航
按使用场景
我想开始使用 AOT 编译器
我想运行测试
我想优化性能
- 阅读 性能优化指南
- 查看基准测试结果
- 应用优化建议
我想贡献代码
📋 文档维护
文档位置
- ✅ 所有
.md文档必须放在docs/目录下 - ❌ 不要在其他目录创建文档文件
文档更新
- 保持文档与代码同步
- 重大变更需要更新相关文档
- 添加更新日期和版本信息
文档质量
- 使用清晰的标题和结构
- 包含代码示例
- 提供实际可运行的示例
- 使用中文编写(除非特殊需要)
🔗 外部资源
- PHP 官方文档: https://www.php.net/manual/en/
- GitHub 仓库: [项目地址]
- 问题追踪: [Issue Tracker]
- 社区论坛: [Community Forum]
📞 联系方式
- 技术支持:[support@example.com]
- 商务合作:[business@example.com]
- 社区讨论:[Slack/Discord 链接]
📜 许可证
本文档遵循 MIT License
最后更新: 2024 年 3 月 18 日
文档版本: v1.0
适用版本: PHP AOT Compiler v1.x