可以为javascript和php设置一个配置文件?

时间:2016-05-02 20:50:46

标签: javascript php

我有一些特定于主机的值我保留了各种配置文件,但现在我需要在我的javascript代码中使用它们的一些值。我怎样才能为javascript和php配置一个配置?

如果可能,配置中的信息应该是私有的,因为它包含主机/数据库凭据。

1 个答案:

答案 0 :(得分: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>