Php 如何加载静态配置信息
在我的代码中,我使用JavaScript作为UI,使用PHP作为后端。我还使用PHP存储应用程序设置,有时我的UI代码需要访问这些信息。我的配置文件如下所示(config.php): 当我需要从JavaScript访问这些设置时,我只需使用Php 如何加载静态配置信息,php,javascript,Php,Javascript,在我的代码中,我使用JavaScript作为UI,使用PHP作为后端。我还使用PHP存储应用程序设置,有时我的UI代码需要访问这些信息。我的配置文件如下所示(config.php): 当我需要从JavaScript访问这些设置时,我只需使用 <?php echo ... ?> 直接替换值,但我觉得它不是很健壮 我不知道这样做有什么危险吗?有更好的方法吗 谢谢你,这就是你要找的吗 <script type="text/javascript"> var reso
<?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);
编辑:我的内联代码分析不正确:我已经在使用。抱歉搞混了,伙计们。编辑:我的内联代码没有正确解析:我已经在使用。抱歉搞混了,伙计们。是的,这是我已经在做的:参见编辑到原始帖子是的,这是我已经在做的:参见编辑到原始帖子