每次 codeigniter 都将自定义过滤器应用于 $_GET 变量
apply custom filter to $_GET variables everywhere everytime codeigniter
我需要在我的项目中每 $this->input->get('q', true);
trim。有没有办法做到这一点,而不是每次都添加 trim()
?
Naim Malek 告诉我使用 helper,但我不太明白在这种情况下它是如何工作的..
您可以使用 hooks 修剪每个 'q' get 参数。
首先在application/config/config.php
中启用挂钩
$config['enable_hooks'] = TRUE;
然后在application/hooks中创建一个自定义名称的文件(例如:Trim_hooks.php)并写在下面挂钩配置文件(application/config/hooks.php)文件中的代码。
$hook['post_controller_constructor'] = array(
'class' => 'Trim_hook',
'function' => 'run',
'filename' => 'Trim_hooks.php',
'filepath' => 'hooks',
);
最后在[=46=中创建Trim_hooks.php文件]:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Trim_hook
{
function run()
{
if (isset($_GET['q']))
{
$_GET['q'] = trim($_GET['q']);
}
}
}
每次在 GET 中有 q 参数时,它都会在 运行 控制器构造函数之后进行修剪。
我需要在我的项目中每 $this->input->get('q', true);
trim。有没有办法做到这一点,而不是每次都添加 trim()
?
Naim Malek 告诉我使用 helper,但我不太明白在这种情况下它是如何工作的..
您可以使用 hooks 修剪每个 'q' get 参数。
首先在application/config/config.php
中启用挂钩$config['enable_hooks'] = TRUE;
然后在application/hooks中创建一个自定义名称的文件(例如:Trim_hooks.php)并写在下面挂钩配置文件(application/config/hooks.php)文件中的代码。
$hook['post_controller_constructor'] = array(
'class' => 'Trim_hook',
'function' => 'run',
'filename' => 'Trim_hooks.php',
'filepath' => 'hooks',
);
最后在[=46=中创建Trim_hooks.php文件]:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Trim_hook
{
function run()
{
if (isset($_GET['q']))
{
$_GET['q'] = trim($_GET['q']);
}
}
}
每次在 GET 中有 q 参数时,它都会在 运行 控制器构造函数之后进行修剪。