Codeigniter 4 如何从 BaseController 加载配置文件以在所有页面上使用它
Codeigniter 4 how to load a configuration file from BaseController to use it on all pages
在我的 BaseController 中,我尝试以各种方式加载我的配置文件,但我找不到值
在我尝试的 initController 函数中:
$this->myconfig = new \Config\MyConfig;
or
$myconfig = config('\Config\MyConfig');
or
$myconfig = config('MyConfig');
or
$this->myconfig = config('MyConfig');
None 这些作品
这是我的 MyConfig 测试配置文件,位于 Config 文件夹中
namespace Config;
use CodeIgniter\Config\BaseConfig;
class MyConfig extends BaseConfig
{
public $ada_default_lang = 'en';
public $ada_site_name = 'Site name';
}
您根本不需要扩展您的 BaseController。
只需在 upgrade docs 之后创建您的 MyConfig.php 文件:
In CI4, the configurations are now stored in classes which extend
CodeIgniter\Config\BaseConfig.
你做对的是:
<?php
namespace Config;
use CodeIgniter\Config\BaseConfig;
class MyConfig extends BaseConfig
{
public $ada_default_lang = 'en';
public $ada_site_name = 'Site name';
}
现在要在任何控制器中访问您的 $ada_default_lang,您只需在控制器方法中调用它,例如:
$lang= config('MyConfig')->ada_default_lang );
die($lang); // would halt the program and output 'en'
对应于 CI3.x 方式,例如:$this->config->item('ada_default_lang ');
在我的 BaseController 中,我尝试以各种方式加载我的配置文件,但我找不到值
在我尝试的 initController 函数中:
$this->myconfig = new \Config\MyConfig;
or
$myconfig = config('\Config\MyConfig');
or
$myconfig = config('MyConfig');
or
$this->myconfig = config('MyConfig');
None 这些作品
这是我的 MyConfig 测试配置文件,位于 Config 文件夹中
namespace Config;
use CodeIgniter\Config\BaseConfig;
class MyConfig extends BaseConfig
{
public $ada_default_lang = 'en';
public $ada_site_name = 'Site name';
}
您根本不需要扩展您的 BaseController。
只需在 upgrade docs 之后创建您的 MyConfig.php 文件:
In CI4, the configurations are now stored in classes which extend CodeIgniter\Config\BaseConfig.
你做对的是:
<?php
namespace Config;
use CodeIgniter\Config\BaseConfig;
class MyConfig extends BaseConfig
{
public $ada_default_lang = 'en';
public $ada_site_name = 'Site name';
}
现在要在任何控制器中访问您的 $ada_default_lang,您只需在控制器方法中调用它,例如:
$lang= config('MyConfig')->ada_default_lang );
die($lang); // would halt the program and output 'en'
对应于 CI3.x 方式,例如:$this->config->item('ada_default_lang ');