使用PhoneGap和PHP的IPhone Native App

use*_*751 20 iphone cordova

我想开发一个与远程数据库同步的iPhone原生应用程序.是否可以使用PhoneGap开发此应用程序.如果我使用PhoneGap,如何从外部数据库获取数据?我可以在PhoneGap上使用PHP吗?

wm_*_*die 24

PhoneGap允许您在iPhone上运行JavaScript和HTML应用程序.您的所有PHP代码都必须驻留在远程服务器中.

要从服务器获取数据,您必须使用XMLHttpRequest对象或更友好的东西,如jquery $.get()$.post()函数.

  • 你能发贴任何简单的代码示例吗? (7认同)

小智 22

我刚刚使用Ajax编译了一个带有PHP的PhoneGap应用程序来获取内容.

首先,在index.html头部加载jQuery库.在函数onBodyLoad()中,对PHP文件进行Ajax调用:

$('#content').load('http://www.example.com/test.php');
Run Code Online (Sandbox Code Playgroud)

在HTML会话中,将div id ="content"放在要显示内容的位置.

PHP:

for($i=1; $i<=10; $i++) {
    echo '<p>I\'m a PHP Loop! Value: ' . $i . ' of 10.</p>';
}
Run Code Online (Sandbox Code Playgroud)

HTML将打印:

<p>I'm a PHP Loop! Value: 1 of 10.</p>
<p>I'm a PHP Loop! Value: 2 of 10.</p>
<p>I'm a PHP Loop! Value: 3 of 10.</p>
<p>I'm a PHP Loop! Value: 4 of 10.</p>
<p>I'm a PHP Loop! Value: 5 of 10.</p>
<p>I'm a PHP Loop! Value: 6 of 10.</p>
<p>I'm a PHP Loop! Value: 7 of 10.</p>
<p>I'm a PHP Loop! Value: 8 of 10.</p>
<p>I'm a PHP Loop! Value: 9 of 10.</p>
<p>I'm a PHP Loop! Value: 10 of 10.</p>
Run Code Online (Sandbox Code Playgroud)

你也可以用

$.get('test.php?name', function(data) {
    $('#content').html(data);
});
Run Code Online (Sandbox Code Playgroud)

你的test.php可能有类似的东西:

if (isset($_GET['name'])) {
    echo "Asked for name!";
}
Run Code Online (Sandbox Code Playgroud)

有了这个,你可以继续做一些好东西.我对这个问题有一个疑问:我可以托管外部PHP文件并在app store上部署应用程序吗?那有什么限制吗?


Bre*_*t F 9

wm_eddie是对的.

此外,我想评论你的"我想建立一个本机iPhone应用程序"的报价.为PhoneGap编写的应用程序不是本机应用程序.虽然他们可向看,在大多数情况下,行为像本地应用程序,一个更好的比喻是把它们作为预包装,本地安装,Web应用程序能够使用的PhoneGap的API,让有限的访问本机功能的子集.值得注意的是,此功能包括传感器(加速度计,gps等)和相机操作等.

这可能与您的使用无关,但只是想澄清一点......;)

(PhoneGap仍然是一个非常好的工具,我在我的一些项目中使用它.但是,如果你需要一个完全原生的应用程序,除了必须在运行时解释的JS,但是主要使用预编译1-1语言依赖的象征意义,然后我推荐我正在利用的Titanium.两种不错的工具,但它们提供截然不同的产品,具有不同的利弊.这是确定最终产品的要求和然后选择最有意义的平台.)