网站的配置信息应该储存在数据库还是!?后台如果修改 env 邮箱配置?

 第一个问题     
 一般网站的‘标题’,‘关键词’,‘描述信息’,‘备案号’,‘站长email,’统计代码‘都会通过网站后台设置;开始我准备把这些信息存在数据库里面,但是后来发现不对!因为网站的这类信息一般都写在前台模版的layouts头部或尾部;这样就必须在每个控制器中的每个方法里面都要查询一次数据库并且赋值给前台模版,这样就违反了 don't repeat yourself的法则。请问下是不是会有更好的解决方案?

 第二个问题
 一般网站都会有个邮箱配置,例如用户注册账户后需要验证邮箱,或者管理员发给用户邮件的时候也需要配置!本地测试的时候是直接修改env文件内的MAIL相关信息!但是如何通过后台修改env文件呢?按照教程修改几次都不能生效!相信很多站长也遇到同样的问题了!
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 4
  1. 第一个问题可以使用试图合成器解决,具体参考 视图《Laravel 7 中文文档》
  2. 第二个问题邮件服务器大多数一个项目是固定的,没必要动态去改变,也不建议动态更改env里的配置。
3年前 评论
李小明 (楼主) 3年前

第一个,用视图变量共享就可以了,不需要每个控制添加。

第二个,后台修改 env 文件,可以搜索 https://stackoverflow.com/,这里有

3年前 评论
李小明 (楼主) 3年前

不应该改变.env,应该改变得是config !

因为最终的起作用是config,规范的是config调用.env

举例:
configmail.php

    'from' => [
        'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
        'name' => env('MAIL_FROM_NAME', 'Example'),
    ]

如果要修改 address

  1. .env 修改 MAIL_FROM_ADDRESS=449399575@xxx.com (大部分情况都是这样做的)
  1. Config::set('email.from.address','449399575@xxx.com') (你的情况)

….

注意事项:

Laravel

3年前 评论
李小明 (楼主) 3年前
s51983 3年前

一、缓存工具,使用inject注入到视图 二、env本身就是存储敏感信息,生产参数只应在部署到服务器时修改

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!