Php 科哈纳3号内部行动

Php 科哈纳3号内部行动,php,model-view-controller,kohana-3,hmvc,Php,Model View Controller,Kohana 3,Hmvc,我认为这个框架应该是开发人员的牢笼,因为Kohana给了我很多自由,我只是想知道其他人如何处理两件与动作相关的事情: 内部行动。我的意思是,如果我有一个很长的动作,我会把它分成一些子动作,比如内部动作,内部动作和其他动作。你认为这是一种好的做法吗?或者,您可能会避免其他功能,而不是控制器中的标准操作?那么也许detec的动作叫做内在的 当你想通过只做$this->action\u other重定向到其他操作时,你是否有时会遇到这种情况;回来或者您是否总是创建新的HMVC重定向 我经常发现需要在单

我认为这个框架应该是开发人员的牢笼,因为Kohana给了我很多自由,我只是想知道其他人如何处理两件与动作相关的事情:

内部行动。我的意思是,如果我有一个很长的动作,我会把它分成一些子动作,比如内部动作,内部动作和其他动作。你认为这是一种好的做法吗?或者,您可能会避免其他功能,而不是控制器中的标准操作?那么也许detec的动作叫做内在的

当你想通过只做$this->action\u other重定向到其他操作时,你是否有时会遇到这种情况;回来或者您是否总是创建新的HMVC重定向


我经常发现需要在单个控制器或一组控制器内的公共操作之间共享功能。因此,我要么创建私有或受保护的方法来执行控制器内的任务,要么创建一个基本控制器,我的几个控制器可以扩展该基本控制器,以利用和/或指定所需的功能

我也会遇到一些情况,特别是在表单处理场景中,我不会生成或关联特定操作的任何输出,而是在根据需要处理请求的操作后调用另一个操作来处理输出。在这些场景中,我通常不使用HMVC,因为我可以轻松获得所需的逻辑。在依赖另一个控制器中的逻辑和代码来收集和填充适当的输出/视图的情况下,我最终使用HMVC请求。如果我已经有必要的数据,那么我只需要使用当前控制器中的视图


我不能说什么是最佳实践,但我相信这在很大程度上取决于您的情景。当然,在对所有内容进行HMVC请求时都会有不必要的开销。

是的,过了一段时间后,我认为这取决于情况,因为Kohana有很多扩展的方法。有时我在控制器中执行私有函数,如果它们只是特定于控制器的。我也使用控制器继承-就像你提到的那样。通用和可恢复控制器的东西进入助手。HMVC确实有用,但并不总是方便。