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