//1.写在配置中
2.单独新建文件
hyerf/ config / autoload/foo.php
<?php
return [
'bar' => '9999'
];
通过依赖注入的形式获取配置
<?php
namespace App\Controller;
use Hyperf\Di\Annotation\Inject;
use Hyperf\HttpServer\Annotation\AutoController;
/**
* @AutoController()
*/
class ConfigController{
/**
* @Inject()
* @var \Hyperf\Contract\ConfigInterface
*/
private $config;
public function inject(){
return $this->config->get('foo.bar', '123123');
}
}
通过@Value获取配置
<?php
namespace App\Controller;
use Hyperf\Di\Annotation\Inject;
use Hyperf\Config\Annotation\Value; #使用value获取的话一定要引入这个,官网文档应该是没有写
use Hyperf\HttpServer\Annotation\AutoController;
/**
* @AutoController()
*/
class ConfigController{
/**
* @Inject()
* @var \Hyperf\Contract\ConfigInterface
*/
private $config;
/**
* @Value("foo.bar")
*/
private $bar;
public function inject(){
return $this->config->get('foo.bar', '123123');
}
//通过value注解来获取配置
public function value(){
return $this->bar;
}
}
通过全局函数config获取环境变量
<?php
namespace App\Controller;
use Hyperf\Di\Annotation\Inject;
use Hyperf\Config\Annotation\Value; #使用value获取的话一定要引入这个,官网文档应该是没有写
use Hyperf\HttpServer\Annotation\AutoController;
/**
* @AutoController()
*/
class ConfigController{
/**
* @Inject()
* @var \Hyperf\Contract\ConfigInterface
*/
private $config;
/**
* @Value("foo.bar")
*/
private $bar;
public function inject(){
return $this->config->get('foo.bar', '123123');
}
//通过value注解来获取配置
public function value(){
return $this->bar;
}
//通过config全局函数获取配置
public function config(){
return config('foo.bar');
}
}
** .env忽略文件开发环境配置和获取配置注释讲解**
env会获取环境变量 会读取根目录下.env里面的数据,因为有多个环境如开发环境 测试环境 正式环境 每个的配置都不一样,那么.env上传的时候会忽略防止泄露,那么没有.env怎么办,目录下有个.env.example 直接修改这个成.env就可以了