我有大量的PHP脚本,它们需要一组标准的变量,例如位置/文件的paths
。我不想在每个脚本中对它们进行硬编码,也不想定义这些变量并从单个文本文件导入它们的值。我想要类似bash
export
的东西,在其中定义所有变量,然后将export
放入我想要的bash
脚本中,并立即开始使用这些变量。
一种可能的解决方案(我想避免)是将值逐行存储在txt
文件中,然后将这些值读入我的php脚本中本地定义的一些变量中。例如:
我可以将以下内容存储在名为paths.txt
的txt文件中,该文件的内容为:
/path/to/some/location/
someaddress@somedomain.com
1729
Hello Mars!
etc...
然后在myfile.php
内:
$all_lines = file("paths.txt");//file in to an array
$location = echo $lines[0];
$rnumber = echo $lines[2];
//...etc
但是我不想要这个!
我希望我的txt
文件看起来像什么:
$location = "/path/to/some/location/";
$address = "someaddress@somedomain.com";
$rnumber = "1729";
$hello = "Hello Mars!";
然后在myfile.php
内:
我只想直接使用在paths.txt
内定义和声明的那些变量,以某种方式我们在bash中进行操作。如source
然后是export
这可能吗?
答案 0 :(得分:0)
有可能,但这可能不是最佳实践。现在,许多人正在将JSON或YAML用于这些类型的事情,它变得无处不在。但是,如果您要使用目标格式,只需将其设置为PHP文件,然后根据需要添加文件即可。
settings.php
<?php
$location = "/path/to/some/location/";
$address = "someaddress@somedomain.com";
$rnumber = "1729";
$hello = "Hello Mars!";
?>
然后在需要时在另一个PHP脚本中需要它们:
<?php
define('__ROOT__', dirname(dirname(__FILE__)));
require_once(__ROOT__.'/settings.php');
//more code
?>
作为示例,您可以像这样使用JSON:
settings.txt
{"location":"\/path\/to\/some\/location\/","address":"someaddress@somedomain.com","rnumber":"1729","hello":"Hello Mars!"}
然后读入文本文件:
<?php
define('__ROOT__', dirname(dirname(__FILE__)));
$json = file_get_contents(__ROOT__.'/settings.txt');
// make variables from json string
$settings = json_decode($json, true); // 'true' makes an array, not object
print_r($settings);
echo $settings['location'];
?>
哪个返回:
(
[location] => /path/to/some/location/
[address] => someaddress@somedomain.com
[rnumber] => 1729
[hello] => Hello Mars!
)
/path/to/some/location/