php - 为什么配置静态变量在我的情况下不起作用?
问题描述
我在 Codeigniter 4 中使用自定义配置文件。我通过调用方法填充其静态变量,load_values()
然后在 BaseController 中使用这些静态变量。它在 BaseController 中工作正常,但是当我尝试在从 BaseController 扩展的 AdminController 中使用这些相同的变量时,它的变量显示为空。我不会将load_values()
AdminController 中的方法称为从 BaseController 扩展而来的方法。以下是详细信息。
为什么配置文件变量在 AdminController 中显示为空?我试图调试和观察变量值,但无法追踪根本原因。
基础控制器:
$this->config = config('My_config');
// Following load_values() method loads users names & populates
//other static variables (eg: $users_array) of config class 'My_config'.
//I dont call this method again in AdminController
$this->config::load_values();
echo $this->config::$users_array[0]; // Prints User Name
AdminController 扩展 BaseController:
$this->config = config('My_config');
echo $this->config::$users_array[0]; // Empty
$this->config::$users_array[0];
在 BaseController 中打印值,但不在 AdminController 中打印任何内容。请指教。
解决方案
推荐阅读
- python - 如果 xpath 以某种方式发生了变化,我该如何单击按钮
- python - 在我的视野开始轮询并在电报上发送消息后,CallbackContext 错误一直显示在 cmd 上
- angular - 反应形式总是有效的,即使不是。表单中的嵌套子级
- arrays - 在 React 渲染中使用数组内的数组
- c# - 使用 RowFilter 过滤 datagridview asp.net 的 textchange 事件
- java - 多次使用暂存模板进行部署时,Dataflow 作业使用相同的 BigQuery 作业 ID?
- php - 如何在laravel中存储对象数组
- python - 在 Pandas DataFrame 列中的列表中映射 JSON
- java - 无法在任何地方调试 Junit 测试
- mysql - 使用 group by 语句的结果计算平均值