在配置文件中创建一个 base_url(变量) - Laravel 配置
Creating a base_url(variable) in the config file - Laravel Config
我目前正在将我的 .env 设置迁移到配置文件。
我有 url 的列表,我将从应用程序调用它们。 BASE_URL 会改变,所以我希望将其保留为变量..
在 .env 文件中,我可以调用 BASE_URL 作为变量,但在配置文件中,我没有得到任何结果。
.env file
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 包时遇到了同样的问题。希望也可以使用替代解决方案进行包开发。
你可以做到,
.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') 访问配置值
我对你的理解是正确的,你希望在你的配置文件中有一个基础 url 并将其用于同一文件中的其他配置变量。由于配置文件是 .php
你可以使用类似的东西:
在config/url.php
中:
<?php
$baseURL = 'http://www.example.com';
return [
'base_url' => $baseURL,
'url1' => $baseURL . '/login',
'url2' => $baseURL . '/about',
];
然后您可以使用 Laravel's dot notation 访问变量。请记住,点之前的部分是您使用的配置文件的简称 (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 设置迁移到配置文件。
我有 url 的列表,我将从应用程序调用它们。 BASE_URL 会改变,所以我希望将其保留为变量..
在 .env 文件中,我可以调用 BASE_URL 作为变量,但在配置文件中,我没有得到任何结果。
.env file
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 包时遇到了同样的问题。希望也可以使用替代解决方案进行包开发。
你可以做到,
.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') 访问配置值
我对你的理解是正确的,你希望在你的配置文件中有一个基础 url 并将其用于同一文件中的其他配置变量。由于配置文件是 .php
你可以使用类似的东西:
在config/url.php
中:
<?php
$baseURL = 'http://www.example.com';
return [
'base_url' => $baseURL,
'url1' => $baseURL . '/login',
'url2' => $baseURL . '/about',
];
然后您可以使用 Laravel's dot notation 访问变量。请记住,点之前的部分是您使用的配置文件的简称 (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