解析PHP中的Laravel配置


Parsing Laravel Config in PHP

Laravel有配置文件,其中非常适合存储从我网站上的每个页面访问的变量。当前的app.php配置文件包含:

return [
    'name' => 'This is a name',
    'slogan' => 'This is a slogan!',
    'primary_color' => '#cc0202',
    'secondary_color' => '#990000',
    'tertiary_color' => '#FFFFFF'
];

这只是一个关联数组,它可以被Blade代码访问:

{{ config('app.primary_color', '#cc0202') }}

但是,我希望使用公共文件夹中的.php文件中的数据。公用文件夹中的文件不能使用Blade。获得这些数据的最好方法是什么?

如果你想在public目录下的PHP文件中使用Laravel的配置,只需通过

要求该文件
$config = include '../config/app.php'; // Go back to main catalog
                                       // and go to config catalog

并将其作为普通数组使用。

例如

echo $config['primary_color'];

但是在我看来,如果你正在使用一个框架,把PHP文件放在public目录是非常糟糕的做法。

试试这个

<?php $variable = config('app.primary_color', '#cc0202') ?>

访问并打印:

echo config('app.primary_color');

设置数据:

config(['app.primary_color' => '#cc0202']);

为什么不使用自定义服务提供商呢?

来自laravel文档:

服务提供者是所有Laravel应用程序引导的中心位置。你自己的应用程序,以及所有Laravel的核心服务都是通过服务提供商引导的。

https://laravel.com/docs/5.3/providers,你可以在https://laracasts.com/series/laravel-5-fundamentals/episodes/25

上看到这个有用的视频教程。