问题是iOS一般使用Objective-C,Android使用Java,但两者都可以使用javascript,这就是phonegap工作的原因。
因此,除非您可以编写两个网络服务器,一个用于 iOS,一个用于 Android,并移植 PHP 以在您的网络服务器下运行,或者更有可能编写一个解释器,将 PHP 转换为在您的网络服务器上运行,那么它会工作。
但是,如果您编写一个移动 Web 应用程序并使用 PHP 作为服务器上的代码,那么您可以发送 javascript 并让它在两个设备上的浏览器中运行。
最好的选择是将大部分业务逻辑放在用 PHP 编写的 REST 服务中。您可以按照以下博客在 PhoneGap 中执行此操作:
http://share.ez.no/blogs/thiago-campos-viana/rest-api-basic-http-auth-and-phonegap-using-jquery
这是本文的主要部分,因此您可以看到它是多么容易。
//10.0.2.2:80 is the localhost in android emulator, app needs internet access
$.get("http://10.0.2.2:80/ez_site/api/ezp/content/node/2",
function(data) {
//code goes here
});
通过这样做,您可以在 PHP 中拥有大部分业务逻辑,并且只有 UI 是 javascript,能够利用手机上的硬件。