Laravel - 在哪里存储站点配置数据

Laravel - 在哪里存储站点配置数据

问题描述:

我可以选择禁用/启用用户注册。我应该在哪里存储这些数据?最佳做法是什么?Laravel - 在哪里存储站点配置数据

我想,在DB中存储这个小数据并不是很好的解决方案。

+0

一般的经验法则:它是多变的,通过某种形式的用户界面? - > DB。否则配置/环境文件 – lukasgeiter

希望你知道的环境变量

在Laravel其存储在.env.php文件

<?php 

return [ 
    'user_registration' => 'enable/disable' 
]; 

?> 

您可以检索值

概念
$_ENV['user_registration'] 

并相应地操作该功能。例如。如果能够再展其他形式从浏览

隐藏

文档:

http://laravel.com/docs/4.2/configuration#environment-configuration

+0

这很好,是否有任何函数来设置配置变量,或smt?因为这个选项在普通用户的管理中可以改变。 –

+0

使这个文件可写并使用文件操作来完成它。它的操作数组很容易。 – thegeekajay

在这种情况下,你可以加入这一行你的注册函数中

return redirect()->back(); 

因此,该用户将无法看到注册页面。当你想再次启用它时,你可以评论上面的内容,你很好。

+0

你有问题我猜 – thegeekajay

+0

这不是关于用户正在活跃。这是关于完全禁用新用户的注册。 – Mysteryos

+0

@ ajay23romu我的不好,我纠正了它。 –

理想情况下,您希望在管理面板上切换用户注册的开关。即,创建一个用户界面并在远处的数据库中的某个表中设置一个值。

然而,最简单的方法就是创建一个配置文件。

我的laravel部署带有'网站'配置,我在其中放置了所有网站的相关配置值。

步骤:

  1. 创建一个配置文件:config/website.php

  2. website.php文件:

    return [ 'registration' => true ];

  3. 在你的控制器,只需添加if(\Config::get('website.registration'))为ch确认用户注册是否开启/关闭。

来源:http://laravel.com/docs/5.0/configuration

+0

是否有任何函数会编辑文件并将某些变量替换为“true”?我将在管理中使用它,我的意思是,用户将能够在管理中更改此选项,我的客户将无法访问编辑php文件。 –

+0

然后,你必须做出自己的。 I.e在你的数据库中设置你的配置表,并为它建立MVC – Mysteryos