Yii1 - 在之前的操作中清理GET参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii1 - 在之前的操作中清理GET参数相关的知识,希望对你有一定的参考价值。
我试图找到是否可以在控制器中使用beforeAction来访问注入的参数。
例如,控制器中的每个操作都接受我需要清理的类型参数:
public function actionGetCustomPaymentsChunk($type) {
$type = TextUtil::sanitizeString($type);
// Get filter data
$filter = FilterHelper::getFilterData();
// Initialize components
$totalCostPayableComponent = new TotalCostPayableComponent($filter);
// Get chunk data
$data = $totalCostPayableComponent->getCustomPaymentChunk($type);
// Return content to client side
$this->renderPartial('/partials/_payable_cost_chunk', array(
'data' => $data,
'route' => 'totalCostPayable/getCustomPaymentsGrid',
'type' => $type,
'paymentType' => 'Custom',
));
}
}
这可能吗(我试图避免重复)?
答案
你应该能够,你尝试了什么?
假设$type
是通过GET传递的,你可以在beforeAction
中修改它,修改后的值将应用于目标动作,请求
http://myhost.com/route/test?type=something
在这个控制器的任何动作中使用下面的$type = "foo"
。
protected function beforeAction($action)
{
if (isset($_GET['type'])) {
$_GET['type'] = 'foo';
}
...
return parent::beforeAction($action);
}
public function actionTest($type)
{
# $type === 'foo'
...
}
更改beforeAction中的操作以满足您的任何要求。
以上是关于Yii1 - 在之前的操作中清理GET参数的主要内容,如果未能解决你的问题,请参考以下文章