验证和测试
验证你的插件
在构建之前,验证你的插件以捕获常见问题:
shell
php artisan native:plugin:validate这会检查:
- 清单语法和必需字段
- 桥接函数声明与原生代码匹配
- 钩子命令已注册并存在
- 声明的资源存在
常见验证错误
"Bridge function not found in native code"
你的清单声明了一个函数,但 Swift 或 Kotlin 实现缺失或名称不同。检查类名和函数名是否完全匹配。
"Invalid manifest JSON"
你的 nativephp.json 有语法错误。检查尾随逗号、缺失的引号或未闭合的括号。
"Hook command not registered"
清单引用了一个未在服务提供者中注册的 Artisan 命令。确保 native:plugin:make-hook 已更新你的服务提供者,或手动添加它。
开发期间测试
测试 PHP 代码
你的 PHP facades 和事件处理像任何 Laravel 代码一样工作。编写标准的 PHPUnit 测试:
php
public function test_plugin_facade_is_accessible()
{
$this->assertInstanceOf(MyPlugin::class, app(MyPlugin::class));
}测试原生代码
原生代码只能通过运行应用来测试。使用此工作流程:
- 通过路径仓库在本地安装你的插件
- 运行
php artisan native:run - 在应用中触发你的插件功能
- 检查控制台输出是否有错误
使用日志记录
在你的原生代码中添加 $this->info() 或 Log::debug() 来跟踪执行。使用 php artisan native:tail 检查设备日志。
调试技巧
插件未被发现?
- 验证
composer.json有"type": "nativephp-plugin" - 运行
composer dump-autoload - 检查
php artisan native:plugin:list
运行时找不到原生函数?
- 更改原生代码后重新构建应用
- 检查清单的函数名是否完全匹配
- 验证 Kotlin 包名是否正确
事件没有触发?
- 确认你在主线程上分发
- 检查事件类名与清单匹配
- 验证
#[OnNative]属性使用了正确的类
官方插件和开发工具包
跳过调试——浏览现成的插件或获取开发工具包来构建你自己的。 访问 NativePHP 插件市场 →