在配置文件-Laravel config中创建一个base_url(变量)



我当前正在将.env设置迁移到配置文件中。

我有一个url列表,我将从应用程序中调用它。BASE_URL会更改,所以我希望将其作为一个变量。。

在.env文件中,我可以调用BASE_URL作为变量,但在配置文件中,没有得到任何结果。

.env文件

BASE_URL = www.url.com
URL1 = ${BASE_URL}/url1,
URL2 = ${BASE_URL}/url2,
URL3 = ${BASE_URL}/url3,

在配置文件夹>创建的url.php文件

url.php

<?php
return[
'BASE_URL' => 'www.url.com',
'URL1' => 'www.url.com/url1',
'URL2' => 'www.url.com/url2',
'URL3' => 'www.url.com/url3',
];

我做了什么(变通方法(!!

<?php
return[
'URL1' => env('BASE_URL')'/url1',
'URL2' => env('BASE_URL')'/url2',
'URL3' => env('BASE_URL')'/url3',
];

我想知道,这是唯一的解决方案还是其他更好的方法。我想把每个设置都移到配置文件中。

当我创建一个laravel包时,我也有同样的问题。希望一个替代的解决方案也可以用于包开发。

正如我正确理解的那样,您希望在配置文件中有一个基本url,并将其用于同一文件中的其他配置变量。由于配置文件是.php,您可以使用以下内容:

config/url.php:中

<?php
$baseURL = 'http://www.example.com';
return [
'base_url' => $baseURL,
'url1' => $baseURL . '/login',
'url2' => $baseURL . '/about',
];

然后,您可以使用Laravel的点表示法访问变量。请记住,点之前的部分是您使用的配置文件的短名称(url.php(:

{{ Config::get('url.base_url') }}
{{ Config::get('url.url1') }}
{{ Config::get('url.url2') }}

将输出:

http://www.example.com
http://www.example.com/login
http://www.example.com/about 

你可以做到这一点,

.env

BASE_URL = www.url.com
URL1 = ${BASE_URL}/url1
URL2 = ${BASE_URL}/url2
URL3 = ${BASE_URL}/url3

config/url.php

return[
'URL1' => env('URL1','www.url.com/url1'),
'URL2' => env('URL2','www.url.com/url2'),
'URL3' => env('URL3','www.url.com/url3'),
];

并使用config('url.URL1'(访问配置值

相关内容

  • 没有找到相关文章

最新更新