在Laravel Schedule Job中使用配置文件

时间:2019-02-11 08:51:09

标签: laravel laravel-scheduler

计划作业开始时是否可以加载配置文件?

我尝试在Schedule Class中使用局部变量customerName,它已在Config文件夹中定义为名为customerInfo

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Log;
use Config;

class Checkout extends Command
{
   ***
   public function handle()
   { 
      ***

      $customerName = Config::get('customerInfo.customer_name'); //test code
      \Log::info($customerName); // for error check in log file

      ***
   }

}

但是没有用。

我是否必须在构造函数中声明它 还是必须将'\'用作'\Config',即使已经将别名声明为use Config;呢?

在计划作业开始运行时在Config中使用自定义变量的最佳简单解决方案是什么?

2 个答案:

答案 0 :(得分:2)

由于没有在PHP可以找到Config类的命名空间中进行定义,所以出现了此错误。

您需要在类顶部使用Config门面:

use Config;

或使用the config helper function

config('customerInfo.customer_name');

答案 1 :(得分:1)

config()助手或Config Facade用于从config目录中获取值。

在配置文件夹中创建一个名称为customerInfo的新文件。

return [
   'customer_name' => 'A name'
];

现在您可以访问名称

namespace App\Console\Commands;

use Illuminate\Console\Command;
use Illuminate\Support\Facades\Log;

class Checkout extends Command
{
   ***
   public function handle()
   { 
      ***

      $customerName = Config::get('customerInfo.customer_name'); //test code
      \Log::info($customerName); // for error check in log file

      ***
   }

}