Php 如何加载静态配置信息

Php 如何加载静态配置信息,php,javascript,Php,Javascript,在我的代码中,我使用JavaScript作为UI,使用PHP作为后端。我还使用PHP存储应用程序设置,有时我的UI代码需要访问这些信息。我的配置文件如下所示(config.php): 当我需要从JavaScript访问这些设置时,我只需使用 <?php echo ... ?> 直接替换值,但我觉得它不是很健壮 我不知道这样做有什么危险吗?有更好的方法吗 谢谢你,这就是你要找的吗 <script type="text/javascript"> var reso

在我的代码中,我使用JavaScript作为UI,使用PHP作为后端。我还使用PHP存储应用程序设置,有时我的UI代码需要访问这些信息。我的配置文件如下所示(config.php):

当我需要从JavaScript访问这些设置时,我只需使用

<?php echo ... ?>

直接替换值,但我觉得它不是很健壮

我不知道这样做有什么危险吗?有更好的方法吗


谢谢你,这就是你要找的吗

<script type="text/javascript">
    var resolution_x = <?php echo $resultion_x; ?>;
</script>

var分辨率_x=;
我认为这是最健壮的方法,除非您想自己用JavaScript找到解决方案

您可以使其更高级,如下所示:

config.php

<?php
    $congig = array(
        'resolution_x' => 1024,
        'resolution_y' => 768
        );
?>
<?php
    include('config.php');
?>
<script type="text/javascript">
    var config = <?php echo json_encode($config); ?>;
    alert(config.resolution_x);
</script>

index.php

<?php
    $congig = array(
        'resolution_x' => 1024,
        'resolution_y' => 768
        );
?>
<?php
    include('config.php');
?>
<script type="text/javascript">
    var config = <?php echo json_encode($config); ?>;
    alert(config.resolution_x);
</script>

变量配置=;
警报(配置分辨率x);

这就是你要找的吗

<script type="text/javascript">
    var resolution_x = <?php echo $resultion_x; ?>;
</script>

var分辨率_x=;
我认为这是最健壮的方法,除非您想自己用JavaScript找到解决方案

您可以使其更高级,如下所示:

config.php

<?php
    $congig = array(
        'resolution_x' => 1024,
        'resolution_y' => 768
        );
?>
<?php
    include('config.php');
?>
<script type="text/javascript">
    var config = <?php echo json_encode($config); ?>;
    alert(config.resolution_x);
</script>

index.php

<?php
    $congig = array(
        'resolution_x' => 1024,
        'resolution_y' => 768
        );
?>
<?php
    include('config.php');
?>
<script type="text/javascript">
    var config = <?php echo json_encode($config); ?>;
    alert(config.resolution_x);
</script>

变量配置=;
警报(配置分辨率x);

也许这是您已经在做的事情,但是您可以
将配置值回送到javascript中的变量中。即:
var解析_X=

也许这是您已经在做的事情,但是您可以
将配置值回送到javascript中的变量中。即:
var解析_X=

如果需要添加大量选项,则逐个回显变量会变得单调乏味。已经有一个更好的解决方案建议使用数组和include,但是也有可能在后端创建一个对象,该对象有一个方法将配置作为数组获取

然后,您可以在JS中获得配置,方法是使用PHP在HTML/view文件中调用该方法的结果,就像在以前的解决方案中一样,或者使用JS发出的额外HTTP请求调用该方法,这将产生额外的开销,但如果需要,还会引入延迟加载配置,如果大多数JavaScript不需要配置,这可能是有益的:

PHP

类配置 { 公共静态函数getAll() { 返回文件获取内容('config.php'); } } 类配置控制器 { 公共函数getConfigAction() { $config=Configuration::getAll(); 返回json_encode($config); } } JS

函数getConfig(){ /* *将HTTP请求发送到服务器中ConfigController的getConfigAction *这里最喜欢的方式。 */ } var config=getConfig(configUri);
如果需要添加很多选项,则逐个回显变量会变得单调乏味。已经有一个更好的解决方案建议使用数组和include,但是也有可能在后端创建一个对象,该对象有一个方法将配置作为数组获取

然后,您可以在JS中获得配置,方法是使用PHP在HTML/view文件中调用该方法的结果,就像在以前的解决方案中一样,或者使用JS发出的额外HTTP请求调用该方法,这将产生额外的开销,但如果需要,还会引入延迟加载配置,如果大多数JavaScript不需要配置,这可能是有益的:

PHP

类配置 { 公共静态函数getAll() { 返回文件获取内容('config.php'); } } 类配置控制器 { 公共函数getConfigAction() { $config=Configuration::getAll(); 返回json_encode($config); } } JS

函数getConfig(){ /* *将HTTP请求发送到服务器中ConfigController的getConfigAction *这里最喜欢的方式。 */ } var config=getConfig(configUri);
编辑:我的内联代码分析不正确:我已经在使用。抱歉搞混了,伙计们。编辑:我的内联代码没有正确解析:我已经在使用。抱歉搞混了,伙计们。是的,这是我已经在做的:参见编辑到原始帖子是的,这是我已经在做的:参见编辑到原始帖子