乐趣区

关于php:从binswoft开始阅读Swoft框架源码四ConfigProcessor

这个处理器非常简单, 甚至都不必一个章节来介绍.
Swoft 把它作为一个独自的处理器, 应该是为了满足它的设计思维吧.

因为 Env 处理器曾经把.env 文件内容加载到 php 环境, 所以 Config 处理器调用 env 办法 (外部调用 getenv 办法) 设置了 APP_DEBUG 和 SWOFT_DEBUG 两个常量.

class ConfigProcessor extends Processor
{
     /**
      * Handle config 
      */ 
     public function handle(): bool
     {
         // Define constant
         $this->defineConstant();
         if (!$this->application->beforeConfig()) {return false;}
         return $this->application->afterConfig();}
     
     /**
      * Define constant 
      */ 
     protected function defineConstant(): void
     {
         // Define some global constants
         define('APP_DEBUG', (int)env('APP_DEBUG', 0));
         define('SWOFT_DEBUG', (int)env('SWOFT_DEBUG', 0));
     }
}

总结:

因为 EnvProcessor 曾经将.env 文件的配置加载到 php 中, 所以以后处理器可能应用 env 办法获取.env 中的配置信息.
退出移动版