PHP注意:常量FLD_EMAIL已经定义了laravel

时间:2017-04-04 12:43:06

标签: php laravel

我在laravel的conifg目录中创建了一个名为db-constant.php的文件,这个文件包含我的常量,然后我在require_once 'db-constants.php';中添加了这行app.php,问题是我输入php的地方artisan cache:clear或任何命令此消息将出现

PHP注意:第1行的/var/www/html/test/config/db-constants.php中已经定义了常量FLD_EMAIL

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

如果您使用Laravel,则不必使用require_once或它的对应物。 composer的自动加载用于所有内容,并自动加载配置文件。您需要做的是阅读有关配置的文档,将文件放在config/目录中并返回带有配置值的array

现在,对我来说似乎是因为某些奇怪的原因你想使用常量而不是Laravel的机制来访问配置值。在这种情况下,你:

1。)不要在config/目录

中放置任何内容

2.)不要手动require_once任何事情

3.。)使用Composer的自动加载功能

如何在Laravel

中加载包含常量的文件

1。)创建app/MyConstants目录。

2。)创建你的文件,我们称之为constants.php。路径是: app/MyConstants/constants.php

3。)添加define代码

4.打开composer.json

5.)查找"autoload"

6。)在"files"下查找"autoload"。如果它不存在,请创建它。

7.。)添加要自动包含的文件列表

"autoload"中的composer.json应如下所示:

"autoload": {
  "files": ["app/MyConstants/constants.php"]
}

在终端中,输入composer ducomposer dump-autoload。它将重新创建自动加载器并自动包含带有常量的文件。

删除bootstrap/cache,以便再次使用artisan

现在你可以:

1。)有一个可以定义常量的地方

2.)避免手动要求文件

就我个人而言,我没有看到这个的原因,但话又说回来 - 我只是一个人,我对这个宏大计划中的任何事情一无所知:)

答案 1 :(得分:0)

您需要先阅读此文档https://laravel.com/docs/5.4/configuration。以及Laravel的其他文档。如何使用配置文件:

  1. 在config目录中创建自己的文件db-constant.php
  2. 根据需要填写。例如

    return [
    
        'FLD_EMAIL' => 'your-field-here',
    
    ];
    
  3. 在任何需要的地方使用

    $email = config('db-constant.FLD_EMAIL');
    
  4. 一切都是。