在每个页面加载上运行一个函数

时间:2013-12-26 18:12:54

标签: codeigniter

我试图弄清楚如何在每个页面加载时触发一个函数。让我举一个功能和期望结果的例子。现在我有代码执行以下操作:

//I don't think you need to see the actual code.
private function last_user_purging
  if last_purge timestamp is at least 5 minutes ago
    return TRUE

if function last_user_purging = TRUE
  delete users who missed their 5 min window to activate their acc.

我在所有控制器中的每个public function index()内都有此代码。但这意味着只有当用户在每个控制器的索引上时才会触发整个代码块。由于它们只是在控制器内部的各种视图中导航,因此它们不会激活代码。

因此,我想知道在哪里放置此代码以确保在每个页面加载时触发它,无论控制器及其视图如何。希望这是有道理的。

BTW:我知道在用户触发注册功能后,Cron每5分钟运行一次该功能是最好的,但我没有这样做的工具..

2 个答案:

答案 0 :(得分:0)

对于CodeIgniter 3.1.9

选项1:,您可以根据此页面覆盖核心控制器:https://www.codeigniter.com/userguide3/general/core_classes.html

选项2:,您可以在每个控制器的构造函数中调用函数或某些代码行:

public function __construct() 
{
    parent::__construct();

    // My stuff
    echo 'Hello !';
}

答案 1 :(得分:-1)

将此功能放在

public function __construct()
{
    parent::__construct();

    // Your code here
}

这样,无论调用此类中的哪个函数,都会检查您的代码。