php - 在 Laravel 中从文件中读取数组的最佳实践

标签 php laravel

我的问题可能很愚蠢。但我需要澄清我对它的概念。

在 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/

相关文章:

php - 将大型 json 字符串存储到数据库 + 哈希

HTML 中的 PHP if/else 结构

php - 升级 Magento 数据库最快、最简单的方法是什么?

php - 如何在 Laravel 中切换一个信号键以将推送通知发送到不同的帐户

Laravel/Eloquent - 主要 id 字段递增问题

PHP方程输出困惑

javascript - 无法在 PHP 中使用 Javascript 弹出新选项卡

php - Laravel 框架外的 Artisan::call()

php - 如何在 Laravel 5 中获取当前使用的 Artisan 控制台命令名称?

php - 在 MVC 框架中实现 DDD - PHP