我的问题可能很愚蠢。但我需要澄清我对它的概念。
在 Laravel 中有几种读取数组的方法。像 config()
变量,.env
函数,trans()
函数,文件读取像 .csv
, .txt
, .json
等
可能他们的目的不同。 但我需要知道从我的 Controller 读取数组数据的好习惯是什么。举个例子。谢谢
示例数组:
[
"mohammad" => [
"physics" => 35,
"maths" => 30,
"chemistry" => 39
],
"qadir" => [
"physics" => 30,
"maths" => 32,
"chemistry" => 29
],
"zara" => [
"physics" => 31,
"maths" => 22,
"chemistry" => 39
]
]
最佳答案
Laravel 在后台使用 var_export()
以这种方式缓存配置:
$config = [
'myvalue' => 123,
'mysub' => [
'mysubvalue' => true
]
];
$code = '<?php return '.var_export($config, true).';'.PHP_EOL;
其中 $config
可以是多维关联数组。
如果将该字符串放入文件中:
file_put_contents(config_path('myconf.php'), $code);
在代码中,您只需简单地包含该文件即可拥有您的结构
$myconfig = require config_path('myconf.php');
dd($myconfig);
或者(如果是配置文件)调用
echo config('myconf.myvalue');
要以 Laravel 风格检索值,您可以使用 Illuminate\Config\Repository 类 例如。
$conf = new Illuminate\Config\Repository($myconfig);
echo $conf->get('mysub.mysubvalue');
或
echo Illuminate\Support\Arr::get($myconfig, 'mysub.mysubvalue');
希望这会澄清和帮助
关于php - 在 Laravel 中从文件中读取数组的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52982727/