2012-04-18 7 views
2

私はいくつかのPHPスクリプトを使ってmysqlデータベースにアクセスするアプリを持っています。 誰でもオフラインバージョンの実装方法についてアドバイスできますか? 私は、アプリケーションにSQLLiteデータベースを作成し、Webサーバーが利用可能になったときにそれを簡単に取り込むことができると思いますか?本当ですか?iOSでPHPを実行していますか?

私はそれを照会したいとき、既存のPHPを使用してそれを行うことは可能ですか?事前に

おかげ

HMJ

答えて

0

私はあなたがiOSの上でPHPを "インストール" することができないと思います。しかし、あなたも、私は教えてくれないかもしれません。

同じスキーマやものを使ってローカルデータベースを作成するのが簡単だと思います。

オフラインの場合は、ライブDB(ウェブ)からオンラインのオフラインDBを取り出します。

どのようにですか?

「モデル」の役割を果たすスクリプトを作成します。それはMVC技術のようです。あなたのスクリプトは、両方のDBを処理する必要があります。 SQLはSQLですので、あなたのクエリが本当にそう変わりません。

if(Offline){ 
    // Offline 
    Use something similair to PDO but for SQLLite 
} else { 
    // Online 
    Use something similair to PDO but for MySQL 
} 
3

それはあなたがあなたが話しているコンポーネント間の区別作ることが重要だ - PHPは、DBのクエリを実行するために意図されたサーバー側の言語です。 SQLiteは、私たちがiOSオペレーティングシステム上でクライアント側のDB管理を可能にするiOSフレームワークです。 iPhoneでは、PHPを使用して生成されたものと同じクエリを実行できますが、objective-cを使用して構築する必要があります。 FMDBを含む、これを行う有用なラッパーがあります。

1

Kodiak PHP iPadで動作します。 PDOがインストールされています。ローカルのsqliteデータベースを作成できます。それだけでPHP言語といくつかの機能を実装し、それはすべてのPHPの機能や拡張をサポートしていません... PH7に関しては

<?php 
error_reporting(E_ALL); 
$db = new PDO('sqlite:test.sql'); 

$n = $db->exec('DROP TABLE IF EXISTS USER'); 
$n = $db->exec('CREATE TABLE user (login TEXT)'); 
$n = $db->exec('INSERT INTO user VALUES("joe")'); 
$r = $db->query('SELECT * FROM user'); 
foreach ($r as $row) { 
    echo $row['login']."\n"; 
} 
?> 

:私はこのコードでそれをテストしました。たとえば、PCREは正規表現処理によく使用されます。 PH7はそれをサポートしています。 PH7は組み込みアプリケーション向けのリライトですが、基本的にはLuaなどのより優れたスクリプトエンジンですが、Javascriptほど大きなフットプリントではありません。

Kodiak PHPは実際のPHPポートです。 phpinfo()を使用します。何がコンパイルされているかを見るには、それはかなりです。

iOSアプリケーションでSQLスクリプトを実行するには、PHPエンジンをiOSアプリケーションにコンパイルして、それを許可する必要があります。:) - アップル社では、しかし、アップルはファイルをアプリにインポートすることはできません。したがって、コピー/ペーストを使用する必要があります。このアプリは、アプリケーションを作成するためのPHPスクリプトを一切実行していないコードの作成とテストを目的としています。

要するに、あなたの質問に対する答えは:はい、PHPを実行し、iOSアプリケーションのsqliteデータベースに書き込むことは可能です。しかし、そうするには、あなたのアプリにPHPライブラリをコンパイルする必要があります。 iOS向けにPHPをコンパイルすることは、それほど簡単なことではありません(私はまだ行っていません)。 Kodiakはこれを行っていますが、私はまだiOS用の無料のPHPライブラリを見つけていません。

+0

PHPを正しく実行するにはホストが必要です!アプリはWebサーバーとして機能しますか?どこからでも、または他のデバイスのブラウザでwifi経由でPHPページを開くことができますか? – Vivo

関連する問題