Skip to content

使用插件

安装插件

插件是标准的 Composer 包。像安装任何其他 Laravel 包一样安装它们:

shell
composer require vendor/nativephp-plugin-name

插件的 PHP 服务提供者将被 Laravel 自动发现,但原生代码在你明确注册之前不会包含在构建中。

注册插件

出于安全考虑,插件必须在其原生代码编译到你的应用之前明确注册。这可以防止传递依赖项在未经你同意的情况下自动包含原生代码。

首先,确保你已发布 NativeServiceProvider:

shell
php artisan vendor:publish --tag=nativephp-plugins-provider

然后注册插件:

shell
php artisan native:plugin:register vendor/nativephp-plugin-name

这会将插件添加到你的 app/Providers/NativeServiceProvider.php 文件中。

验证安装

检查 NativePHP 是否能看到你的插件:

shell
php artisan native:plugin:list

你将看到插件名称、版本以及它提供的内容(桥接函数、事件、钩子)。

重新构建应用

安装插件后,重新构建以编译其原生代码:

shell
php artisan native:run

插件的 Swift 和 Kotlin 代码会自动编译到你的应用中。

使用插件功能

每个插件都提供自己的 facade 来与原生功能交互。

php
use Vendor\PluginName\Facades\PluginName;

// 调用原生函数
$result = PluginName::doSomething(['option' => 'value']);

监听插件事件

插件向你的 Livewire 组件分发事件。使用 #[OnNative] 属性来监听它们:

php
use Native\Mobile\Attributes\OnNative;
use Vendor\PluginName\Events\SomethingCompleted;

#[OnNative(SomethingCompleted::class)]
public function handleCompletion($result)
{
    // 响应事件
}

查看插件文档

每个插件都应该记录其可用的方法、事件和任何所需的权限。在插件的仓库中查找 README 或文档。

权限

某些插件需要额外的权限。这些在插件的清单中声明,并在构建期间自动合并到你的应用配置中。

如果插件需要相机访问、麦克风或其他敏感权限,当你运行 native:plugin:list 时会看到它们列出。

移除插件

要完全卸载插件:

shell
php artisan native:plugin:uninstall vendor/nativephp-plugin-name

此命令:

  • 从你的 NativeServiceProvider 中注销插件
  • 通过 Composer 移除包
  • composer.json 中移除路径仓库(如果适用)
  • 可选地删除插件源目录(用于本地路径仓库)

使用 --force 跳过确认提示,或使用 --keep-files 在卸载本地插件时保留源目录。

官方插件和开发工具包

查找常见用例的现成插件,或获取开发工具包来构建你自己的插件。 访问 NativePHP 插件市场 →

基于 NativePHP 官方文档翻译