我正在尝试在.env文件中使用PHP函数rand()
。
这是我要在.env中实现的目标;
PROTOCOL="http"
DOMAIN="example.com"
URI="www.{$DOMAIN}"
RAND=rand(1,5)
CDN_URI="cdn{$RAND}.{$DOMAIN}"
CDN_URL="{$PROTOCOL}://{$CDN_URI}"
如您所见,我正在尝试生成从1到5的随机整数,它们代表CDN子域,以便在请求中得到http://cdn2.example.com
另一个整数http://cdn4.example.com
,依此类推。
我猜本机不支持在.env中使用PHP,但是有什么方法/解决方法吗?
PS我正在使用Laravel 5。
该.env
文件为纯文本格式,不支持PHP函数。该文件被设计为您的环境变量的备用(来自OS),因此您不能在其上使用PHP代码。如果您确实需要全局随机数,则可以使用全局变量执行类似的操作,而不是:
global $rand;
$rand = rand(1,5);
然后,在需要在主上下文之外使用数字(例如在函数内部)的地方,需要声明global $rand
:
function someFunction ()
{
global $rand;
doSomethingWithRand($rand);
}
但是我认为这是一个丑陋的方法。根据您要实现的目标,有更好的方法可以做到这一点。
由于您使用的是Laravel。您可以rand()
在/config/
dir下的某些配置文件中添加对函数的调用,例如:'rand' => rand(1,5),
。然后,要访问您的随机数,应使用:
// If your config was set inside /config/app.php.
config('app.rand');
// OR
// If your config was set inside /config/services.php, for instance.
config('services.rand');
参考:http : //laravel.com/docs/5.1/installation#accessing-configuration-values
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句