韩天峰
|
b17b4acbac
|
feat(build): 添加 Windows 资源文件支持功能
- 在 .gitignore 中添加 node_modules 目录
- 在 Msvc.php 中添加 compileResourceFile 方法用于编译 .rc 资源文件
- 新增 package.json 配置文件及 svg-to-ico.js 转换脚本
- 在 project.yml 中添加 Windows 资源文件配置示例
- 添加 swoole-logo.svg 图标文件
- 在 Translator.php 中集成资源文件生成功能
- 实现资源文件编译和链接到最终可执行文件的流程
- 更新版本号从 1049 到 1051
|
4 months ago |
韩天峰
|
217a638314
|
chore(build): 添加 PHP 单元测试缓存文件到忽略列表
- 添加 /.phpunit.cache 到 .gitignore 文件
- 防止 PHP 单元测试缓存文件被提交到版本控制
|
4 months ago |
韩天峰
|
c4c46bf3f0
|
feat(compiler): 添加PHP编译器基础类和调试符号支持
- 添加CompilerBase核心编译器类,支持PHP到C++代码转换
- 实现AST节点解析和表达式处理功能
- 添加跨平台编译器检测和配置支持
- 集成PhpParser进行PHP语法树解析
- 实现类型系统和变量管理功能
- 添加调试信息和错误处理机制
- 扩展.gitignore文件以忽略调试符号文件
|
4 months ago |
韩天峰
|
09ea347c11
|
feat(win32-hello): 添加中国时区支持并更新最佳实践指南
- 在 hello-win.php 中添加 date_default_timezone_set('Asia/Shanghai')
- 在 main.php 中添加 date_default_timezone_set('Asia/Shanghai')
- 在 CHINESE_SUPPORT_GUIDE.md 中添加时区设置说明
- 更新最佳实践列表,添加时区设置建议
- 更新 .gitignore 添加 *.obj 文件忽略规则
|
4 months ago |
韩天峰
|
b1df315299
|
feat(compiler): 支持 PHP 嵌入模式并改进 Windows 编译配置
- 添加 php8embed.lib 支持作为嵌入模式首选库文件
- 更新 Windows 库文件查找顺序以支持嵌入模式
- 区分 C 和 C++ 文件的编译选项处理
- 将宏定义应用限制在编译阶段而非链接阶段
- 更新 Windows 链接器使用 link.exe 替代编译器
- 添加 .dll 和 .exe 文件到 .gitignore
- 修复 PHP ZTS 检测逻辑移除严格比较
- 移除示例中的环境变量输出以减少冗余信息
- 添加 C++ 异常处理支持和标准版本指定
|
4 months ago |
韩天峰
|
37b44368eb
|
feat(compiler): 添加对ThinkPHP和Laravel项目的编译支持
- 在.gitignore中添加thinkphp、laravel和tmp项目目录的忽略规则
- 修改错误处理逻辑,使用统一的output方法替代直接echo输出
- 新增getFullClassName方法用于获取完整类名
- 添加Unsupported异常类型并改进语法检查
- 实现自继承类的检测和错误报告功能
- 优化类名解析逻辑,提高编译器兼容性
|
5 months ago |
韩天峰
|
b6e2741c31
|
feat(compiler): 添加对变量表达式检查和无变量捕获的支持
- 在方法调用解析中添加了变量表达式检查功能
- 实现了未定义变量错误提示机制
- 更新异常捕获解析以支持无变量名的捕获语法
- 添加了临时变量名生成器来处理匿名捕获变量
- 新增 try-catch-2 测试用例验证捕获语法兼容性
|
6 months ago |
韩天峰
|
e0a4e2f977
|
feat(compiler): 添加空合并赋值运算符支持并优化变量检查
- 实现了 ??= 运算符的解析和编译功能
- 添加了变量存在性检查的改进实现
- 增加了左值有效性验证确保赋值操作合法
- 更新了测试用例覆盖空合并赋值的各种场景
- 修复了 stray code 检查的错误定位问题
- 在编译器基类中增加了 isset 和 empty 操作常量定义
|
7 months ago |
韩天峰
|
423c10fe47
|
feat(compiler): 实现空值检查表达式解析功能
- 添加了对复杂嵌套表达式的 empty() 函数支持
- 实现了数组维度获取和属性访问的解析逻辑
- 添加了 SkipException 类用于跳过错误节点处理
- 优化了全局变量访问的错误处理机制
- 增强了类型转换和函数调用的参数处理
- 更新了测试用例验证空值检查功能正确性
- 修复了编译器在处理未定义类时的错误判断
|
7 months ago |
韩天峰
|
9702529c0f
|
feat(compiler): 添加类常量获取支持并优化参数信息处理
- 在 CompilerBase.php 中添加对 Expr_ClassConstFetch 类型的支持
- 修改 getArgInfo 方法签名以接收 Node 参数并添加参数不存在时的错误处理
- 修复三元运算符解析逻辑以正确处理省略中间表达式的情况
- 将 null 常量映射从 nullptr 改为 php::null
- 扩展 hasVar 方法以支持更多变量类型包括静态属性和对象属性
- 添加 parseClassConstFetch 方法用于处理类常量获取表达式
- 在 gen_stub.php 中修复缺少可见性修饰符和参数类型的处理
- 跳过生成 ext_functions 条目当类名不存在时
- 在 Translator.php 中添加存根文件生成的状态检查和错误报告
|
7 months ago |
韩天峰
|
ba3ffd885f
|
支持 C++ Native 函数注入,stub 存根文件
|
8 months ago |
韩天峰
|
3492a4ebe6
|
修复 AssignOpConcat
|
8 months ago |
韩天峰
|
a3e44e59b3
|
添加例子文件,忽略 cs-fix cache
|
1 year ago |
韩天峰
|
9acc849e1b
|
php2cpp init
|
2 years ago |
韩天峰
|
5fb2fc1ac5
|
init
|
3 years ago |
韩天峰
|
95c8a8e03d
|
迁移目录
|
3 years ago |
韩天峰
|
42c0ae378d
|
update
|
3 years ago |
韩天峰
|
8ea85ac16b
|
init 2
|
3 years ago |