- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Yii2 中有一个 Rest API,Yii 生成所有 Action
查看/更新/创建/删除
我想改变 createMethode et garde 的其他方法,所以我不能使用类 Controller,我应该使用类 ActiveController
但是我希望那个类做同样的工作,我需要在创建之前添加一些 Action ,在创建之后添加一些 Action 。所以我需要覆盖 actionCreate
我该怎么做 ?
最佳答案
我知道这是一个老问题;但我在相关搜索中找到了它,并认为我可以提供一个很好的、更新的解决方案和现在的内容摘要。希望有人觉得这有帮助......
我知道有两种方法可以做到这一点。您可以定义一个 Action 方法,就像提到的@Roman Podlinov,或者您可以将 Action 定义为一个单独的类并将默认的创建 Action 指向它,接近@mrJ0ul3 提到的。为了完整起见,我将在下面提供两者的示例。
方法 1 - Controller 中的操作方法
在 Controller 中,覆盖 actions
像这样的方法:
public function actions()
{
$actions = parent::actions();
unset($actions['create']);
return $actions;
}
public function actionCreate()
{
// your code goes here
}
actionCreate
如上图所示。我看到一条评论提到
createAction
,但这是不正确的。他们可能对
CreateAction
感到困惑。作为 yii\rest 命名空间的一部分的类,它包含实际使用默认 REST 创建操作运行的代码。但是,如果您使用此方法覆盖创建请求逻辑,则该类并不重要。但对于另一种方法来说确实很重要......
namespace app\actions\controllerName
class CreateAction extends \yii\rest\CreateAction
{
public function run()
{
// your code goes here
}
}
public function actions()
{
$actions = parent::actions();
$actions['create']['class'] = 'app\actions\controllerName\CreateAction';
return $actions;
}
关于rest - Yii2 在 Rest ActiveController 中覆盖通用创建操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27648504/
在我的表单中,我有两个拆分容器和一些面板和 ActiveX 控件以及其他 Windows 窗体控件,如按钮、复选框等。现在在我说的代码中 Control activeControl =
我想在 ActiveControl 发生变化时运行一个小例程。我怎样才能做到这一点?我考虑过使用一个计时器来按一定的时间间隔检查事件控件,并在它发生变化时触发我的例程,但是有更优雅的解决方案吗? 最佳
在 Mike Lischke 的 Virtual Treeview 中,有解决方法代码添加以修复在同一表单上使用 TWebBrowser 控件时的错误。 问题是,如果用户尝试与 TOleControl
您好,我是一名正在学习 C# 并将其添加到我的代码中 InitializeComponent(); this.ActiveControl = txtUsername; txtUsername.Focu
我在 Yii2 中有一个 Rest API,Yii 生成所有 Action 查看/更新/创建/删除 我想改变 createMethode et garde 的其他方法,所以我不能使用类 Control
我有一个子表单,它有一个 TextReader 来加载一些被调用的值。当我召唤表格时,它不断崩溃。此表单有一个 Timer,它可以通过以下方式更新 TextBox 的文本: textbox.Text
Product.supplierID = Supplier.supplierID --------- ---------- |Product|---------|Supplier| -
我在表单 Access 中有 2 个组合框(c1,c2),如果用户从中选择一个值,则带有按钮 Search c1 并点击Search 它应该打开一个FORM1,如果用户从c2 中选择一个值并点击在搜索
在文档指南中有示例: namespace app\controllers; use yii\rest\ActiveController; class UserControlle
我想在我的 Controller 中添加登录操作,但它给我的页面未找到错误。 我知道有很多这样的帖子,但还没有人帮助过我。 我的 Controller 的代码: all(); } pu
我是一名优秀的程序员,十分优秀!