いくつかの php スクリプトを使用して mysql データベースにアクセスするアプリがあります。オフライン バージョンを実装する方法について誰かアドバイスできますか? アプリで SQLLite データベースを作成し、Web サーバーが利用可能になったときにデータを入力するのは簡単だと思いますか? 真実?
クエリを実行したい場合、既存の php を使用してクエリを実行できますか?
前もって感謝します
HMJ
話しているコンポーネントを区別することが重要です。PHP は、DB クエリを実行するためのサーバー側言語です。SQLite は、iOS オペレーティング システムでクライアント側の DB 管理を可能にする iOS フレームワークです。iPhone では、PHP を使用して生成されたものと同じクエリを実行できますが、これらは Objective-C を使用して構築する必要があります。FMDB など、これを行う便利なラッパーがいくつかあります。
Kodiak PHPは iPad 上で動作します。PDOがインストールされています。ローカルの sqlite データベースを作成できます。私はこのコードでそれをテストしました:
<?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";
}
?>
PH7に関しては... PHP言語といくつかの機能を実装しているだけで、すべてのPHP機能や拡張機能をサポートしているわけではありません。たとえば、PCRE は正規表現処理によく使用されます。PH7 はそれをサポートしています。PH7 は組み込みアプリケーションを対象とした書き直しであり、基本的には Lua などのより有能なスクリプト エンジンですが、JavaScript ほどフットプリントは大きくありません。
Kodiak PHP は実際の PHP ポートです。phpinfo() を使用します。何がコンパイルされているかを確認するには、かなりの量です。
iOS アプリで SQL スクリプトを実行するには、PHP エンジンを iOS アプリにコンパイルし、Apple にそれを許可してもらう必要があります :)アプリにファイルをインポートすることはできません。したがって、コピー/貼り付けを使用する必要があります。このアプリは、アプリを作成するために大量の PHP スクリプトを実行しないコードを記述およびテストすることを目的としています。
要するに、あなたの質問に対する答えは次のとおりです。はい、iOS アプリで PHP を実行して sqlite データベースに書き込むことは可能です。ただし、そのためには、PHP ライブラリをアプリにコンパイルする必要があります。PHP を iOS 用にコンパイルするのは簡単なことではありません (私はまだ行っていません)。Kodiak はそれを実行しましたが、私は iOS 用の無料で利用できる PHP ライブラリをまだ見つけていません。
iOSにphpを「インストール」できないと思います。しかし、あなたもそうかもしれませんが、私にはわかりません。
私がすることは、簡単だと思いますが、同じスキーマなどでローカル データベースを作成することです。
オフラインの場合はオフライン DB からプルし、オンラインはライブ DB (web) からプルします。
方法 ?
「モデル」の役割を果たすスクリプトを作成します。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
}