私はアプリケーションを構築してきましたが、すべてはシンプルなデータストレージシステムを中心に構築されています。
<?php die()
を追加します。その後。
<?php die();
を削除します。これはデータを保存する安全な方法ですか?私がこれを作ったとき、私はMySQLを知りませんでした、そしてそれでもそれをよく知りませんでした。ただし、小規模なプラットフォームを編集してMySQLに変更するか、現在のシステムを引き続き使用するかを選択したいと思います。
同時に編集されているファイルで問題が発生したことはありません。また、現時点ではウェブサイトの速度が低下しているようには見えません。
中規模のアプリケーションを今すぐ変更する価値はありますか。また、数週間かけてアプリケーションを変更する必要がないので、成長しています。または、現在のシステムは使用し続けるのに十分安全です。
これは、システムが現在機能しているものです。
設定データ:
function setDat($dat_file, $sec, $subsec, $val) {
global $INS_DIR;
$dat_file_dat = json_decode(str_replace("<?php die(); ", "", file_get_contents($_SERVER['DOCUMENT_ROOT'] . $INS_DIR . 'data/dat-'.$dat_file.'.php')), true);
$dat_file_dat[$sec][$subsec] = [$val];
file_put_contents($_SERVER['DOCUMENT_ROOT'] . $INS_DIR . 'data/dat-'.$dat_file.'.php', "<?php die(); ".json_encode($dat_file_dat));
}
データの取得:
function getDat($dat_file, $sec, $subsec) {
global $INS_DIR;
$dat_file_dat = json_decode(str_replace("<?php die(); ", "", file_get_contents($_SERVER['DOCUMENT_ROOT'] . $INS_DIR . 'data/dat-'.$dat_file.'.php')), true);
return $dat_file_dat[$sec][$subsec][0];
}
等々。
これを説明すると:
$dat_file
は、データが格納されるファイル、/data/
内のファイルです$sec
は、編集する配列の最上位です$array[$sec]
;$subsec
は第2レベルの配列$array[$sec][$subsec]
;です。これは、各アプリケーションが$sec
をデータのカテゴリとして使用でき、$subsec
とそのカテゴリ内の検索を使用できるためです。独自のファイルを持つこともできます。したがって、ファイルmain-settingsには、theme-settingsと呼ばれるカテゴリがあり、次にデフォルトに設定されているactive-themeのようないくつかの情報があります。
つまり、これは現在のシステムを維持する価値があり、将来的には対応できるのでしょうか。その弱点は何ですか、それに関する問題があります。
[〜#〜]または[〜#〜]
プログラムのデータ側全体を再プログラムする必要がある場合でも、すべてをMySQLに変更する必要がありますか?これの欠点と欠点は何ですか?
MongoDB のようなJSONベースのnoSQLデータベースの使用を検討しましたか?それはおそらくあなたのニーズに合うかもしれません。
そして明らかに PostgreSQL 、 MariaDB (またはMySQL)または Sqlite のようなSQLリレーショナルデータベースにJSONテキストを置くことができます。
永続的 状態を一部として保存PHPファイルは壊れやすく、エラーが発生しやすい( コードインジェクション に注意))、おそらくあまり効率的ではありません。 PHP(eg [〜#〜] hop [〜#〜] 、 Opa 、 Ocsigen 、...)は、PHPよりも永続性(およびブラウザとサーバーの計算の混合)をはるかにうまく処理しています。