繁体   English   中英

在配置文件中创建 base_url(variable) - Laravel Config

[英]Creating a base_url(variable) in the config file - Laravel Config

我目前正在将我的 .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,

在 Config Folder > Created url.php 文件中

网址.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 包时遇到了同样的问题。 希望另一种解决方案也可以用于包开发。

你可以这样做,

.env

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

配置/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') 访问配置值

正如我正确理解的那样,您希望在配置文件中有一个基本 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 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM