代码之家  ›  专栏  ›  技术社区  ›  JsWizard

在Laravel调度作业中使用配置文件

  •  -1
  • JsWizard  · 技术社区  · 5 年前

    我可以在调度作业启动时加载配置文件吗?

    我尝试使用局部变量 customerName 在schedule类中,并且它已在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; ?

    当调度作业正在运行start时,在config中使用自定义变量的最佳简单解决方案是什么?

    2 回复  |  直到 5 年前
        1
  •  2
  •   Jerodev    5 年前

    您得到这个错误是因为您没有在PHP可以找到的名称空间中定义 Config 班级。

    您需要包括 配置 在类的最上层使用外观:

    use Config;
    

    或使用 the config helper function :

    config('customerInfo.customer_name');
    
        2
  •  1
  •   FULL STACK DEV    5 年前

    config() 帮手或 Config Facade用于从 config 迪尔

    在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
    
          ***
       }
    
    }
    
    推荐文章