原生函数
我们的自定义 PHP 扩展实现了与每个平台的紧密集成,提供了一致且高性能的抽象,让你专注于构建应用。在一个平台上开发,为两个平台构建。
原生设备函数直接从你的 PHP 代码调用,让你可以访问平台特定的功能,同时保持 Laravel 开发的生产力和熟悉度。
这些函数通过不断增长的类列表从你的 PHP 代码中调用。这些类也被包装在 Laravel Facades 中,以便于访问和测试,例如:
Native\Mobile\Facades\Biometrics
Native\Mobile\Facades\Browser
Native\Mobile\Facades\Camera每个都在我们的 插件 部分中介绍。
从任何地方运行
我们所有支持的 API 都通过 PHP 调用。这意味着 NativePHP for Mobile 不依赖于 Web 视图来运行,最终我们将完全支持不使用 Web 视图作为渲染 UI 的主要工具的应用。尽管这将是可选的,所以你有完全的选择自由,甚至可以构建完全混合的解决方案。
当使用 Web 视图和 JavaScript 时,你也可以使用我们方便的 Native 库轻松地从 JavaScript 与原生函数交互。
如果你正在使用 SPA 框架(如 Vue 或 React)构建应用程序,这特别有用,因为你可以简单地导入所需的函数并将大量工作移到 UI 的响应式部分。
安装插件
要使用 Native JavaScript 库,你必须在 package.json 文件中安装插件。将以下部分添加到 JSON 中:
{
"dependencies": {
...
},
"imports": { // [tl! focus:start]
"#nativephp": "./vendor/nativephp/mobile/resources/dist/native.js"
} // [tl! focus:end]
}运行 npm install,然后在你的 JavaScript 中,只需从插件导入相关函数:
import { on, off, Microphone, Events } from '#nativephp';
import { onMounted, onUnmounted } from 'vue';
const buttonClicked = () => {
Microphone.record();
};
const handleRecordingFinished = () => {
// 更新 UI
};
onMounted(() => {
on(Events.Microphone.MicrophoneRecorded, handleRecordingFinished);
});
onUnmounted(() => {
off(Events.Microphone.MicrophoneRecorded, handleRecordingFinished);
});该库是完全类型化的,因此你的 IDE 应该能够获取可用的属性和方法,为你提供内联提示和代码补全支持。
在大多数情况下,JavaScript API 与 PHP API 相同。任何关键差异都会在我们的 API 文档中注明。
这种方法在底层使用 PHP 接口,意味着两个实现保持同步。所以你永远不需要担心 API 是否只在一个地方可用;它们总是在你需要的任何地方都可用。
发现了 bug?
社区支持可通过 [Discord]() 和 GitHub Issues 获得。