DBへの書き込みを避け、langファイルなどに定数/配列を使用したい.
すなわち:
$lang = array (
'hello' => 'hello world!'
);
バックオフィスから編集することができます。(その場合、貧弱なデータベースからフェッチする代わりに、$lang['hello'] を使用します..)。
それを引き出すための最良かつ効率的な方法について何を提案していますか?
私が見つけた最も効率的な方法は次のようになります。
どういうわけかphpで配列を構築し、を使用してファイルにエクスポートしますvar_export()
file_put_contents( '/some/file/data.php', '<?php return '.var_export( $data_array, true ).";\n" );
その後、このデータが必要な場所で、このようにプルします
$data = include '/some/file/data.php';
確かにJSON
保存するには:
file_put_contents("my_array.json", json_encode($array));
それを取り戻すには:
$array = json_decode(file_get_contents("my_array.json"));
それと同じくらい簡単です!
データをファイルに入れることを主張する場合は、php 関数serialize()
を検討unserialize()
してから、 を使用してデータをファイルに入れることができますfile_put_contents
。
例:
<?php
$somearray = array( 'fruit' => array('pear', 'apple', 'sony') );
file_put_contents('somearray.dat', serialize( $somearray ) );
$loaded = unserialize( file_get_contents('somearray.dat') );
print_r($loaded);
?>
json_encode()
を試すことができますjson_decode()
。
$save = json_encode($array);
$save の内容をファイルに書き込む
lang をロードするには:
$lang = file_get_contents('langfile');
$lang = json_decode($lang, true);