gpt4 book ai didi

php - 如何通过调用 codeigniter Controller 函数来更改配置项值?

转载 作者:搜寻专家 更新时间:2023-10-31 21:10:59 26 4
gpt4 key购买 nike

我有一个尝试更改配置项的 Controller 功能,但它不起作用。如何通过调用此 Controller 函数来更改配置项的值?这是我的代码:

维护配置.php

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

//Maintenance mode

$config['maintenance_mode'] = FALSE;

Controller 文件函数

function maintenance_mode_activate(){

$this->config->load('maintenance_config');
$this->config->set_item('maintenance_mode', TRUE);

}

最佳答案

根据对您问题的评论,您想存储网站处于维护模式 的事实。

您发布的代码确实更改了配置值,但仅在 PHP 中的请求/处理线程的持续时间内 - 引用您的示例,一旦涉及运行 maitenance_mode_active() 方法的流程被执行,配置选项丢失。

set_item() 方法不会覆盖文件中的设置,它只是更改内存中 的值。您可以通过两种方式规避此问题:

1。将值存储在数据库中。

只需创建一个表来存储您的应用程序的配置选项,然后创建一个示例值 maintenance-mode 设置为 0 的行。按下按钮后,将其更改为 1并在需要时简单地检索该值。

2。将其存储在可覆盖的 PHP 文件中。

这种方法虽然不那么干净,但它的优点是您可以继续使用 $this->config 属性来管理您的代码。基本上,当您按下 maintenance-mode 按钮时,将以下内容写入文件(出于示例目的,我们将其称为 prop.php):

<?php

$config['maintenance-mode'] = true;

现在您只需要将它包含在您的config.php 文件中:

include_once("prop.php");

您现在可以通过 $this->config 引用配置选项。如果你想关闭维护模式,只需用以下内容覆盖文件:

<?php

$config['maintenance-mode'] = false;

如果这就是您正在寻找的功能,请告诉我!

关于php - 如何通过调用 codeigniter Controller 函数来更改配置项值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19518033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com