2016-05-02 9 views
-3

私はいくつかのホスト固有の値を持っていますが、私はさまざまな設定ファイルを保持していますが、今はjavascriptコードに値が必要です。 javascriptとphpの両方に対してどのように設定することができますか?javascriptとphp用に1つの設定ファイルを持つことができますか?

config内の情報は、ホスト/データベースの資格情報が含まれているため、可能な限りプライベートにする必要があります。お使いの設定がオブジェクトに含まれている場合

+0

あなたの設定値のすべてが対象に含まれている場合は、 configは公に開示されても大丈夫ですが、 ' ' – blex

+0

この質問はあまりにも広すぎます。両方の言語が理解できる形式(JSONなど)を見つけることができるかもしれませんが、セットアップはアプリケーションの設計方法に依存します。 – ssube

+0

より多くの文脈が良いでしょう。 Javascriptはクライアント上で動作しますが、PHPはサーバ上で動作します。 – treegarden

答えて

1

あなたは完全にあなたは、単に行うことができ、開示することができます。

<script>var config = <?php echo json_encode($config); ?>;</script> 

をしかし、あなたは唯一たい場合は/そのプロパティの一部を必要とする、あなたのような何かを行うことができます

<script>var host = <?php echo $config["host"]; ?>;</script> 

または、より保守方法で:

<?php 

$config = array(
    "host" => "http://example.com", 
    "items_per_page" => 10, 
    "db_password" => "1234" 
); 
// Properties you want to include in your JS 
$public_properties = array("host", "items_per_page"); 

// This function returns JSON containing the values from $obj, 
// but only for properties contained in $props 
function get_public_json($obj, $props) { 
    $res = array(); 
    foreach($props as $prop) 
    { 
     $res[$prop] = $obj[$prop]; 
    } 
    return json_encode($res); 
} 

?> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>My website</title> 
    <script> 
     var config = <?php echo get_public_json($config, $public_properties); ?>; 
     // will look like this: {"host" : "http://example.com", "items_per_page" : 10} 
    </script> 
</head> 
<body> 

</body> 
</html> 
+1

すばらしい。正確に私が探していたもの、ありがとう。 –

関連する問題