7

DBへの書き込みを避け、langファイルなどに定数/配列を使用したい.

すなわち:

$lang = array (
  'hello' => 'hello world!'
);

バックオフィスから編集することができます。(その場合、貧弱なデータベースからフェッチする代わりに、$lang['hello'] を使用します..)。

それを引き出すための最良かつ効率的な方法について何を提案していますか?

4

4 に答える 4

18

私が見つけた最も効率的な方法は次のようになります。

どういうわけかphpで配列を構築し、を使用してファイルにエクスポートしますvar_export()

file_put_contents( '/some/file/data.php', '<?php return '.var_export( $data_array, true ).";\n" );

その後、このデータが必要な場所で、このようにプルします

$data = include '/some/file/data.php';
于 2012-09-21T12:59:21.580 に答える
12

確かにJSON

保存するには:

file_put_contents("my_array.json", json_encode($array));

それを取り戻すには:

$array = json_decode(file_get_contents("my_array.json"));

それと同じくらい簡単です!

于 2012-09-21T13:25:09.820 に答える
6

データをファイルに入れることを主張する場合は、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);
?>
于 2012-09-21T12:58:04.303 に答える
3

json_encode()を試すことができますjson_decode()

$save = json_encode($array);

$save の内容をファイルに書き込む

lang をロードするには:

$lang = file_get_contents('langfile');
$lang = json_decode($lang, true);
于 2012-09-21T13:15:53.070 に答える