jpe*_*emi 6 components controller cakephp model
我想这个问题的简单答案就是一个组成部分.
虽然我同意,但我觉得很奇怪必须为一些特定的东西编写一个组件.
例如,假设我有一个用户表.创建用户时,它应该形成事件的连锁反应,在数据库周围启动与用户相关的不同类型的数据.我认为最好避免直接从不同的控制器操作数据库,而是将所有这些整齐地打包在方法中.然而,由于某些逻辑需要单独加入,我真的不能在一个方法中使用整个包.相反,我认为这将是合乎逻辑的打破它以更小的部分(如$userModelOrController->createNew()
和$candyStorageModelOrController->createNew())
,只有各自的数据库表进行交互.
现在,如果逻辑被放到模型中,它将很有效,直到我需要使用其他模型.当然这是可能的,但与控制器中加载模型相比,它并不那么简单.它就像一个Cake开发人员告诉我"当然,如果你想这样做就可能,但这不是我会怎么做".
然后,如果逻辑被放到控制器上,我可以很容易地访问其他模型$this->loadModel()
,但这让我回到之前解释的情况,因为我需要能够无限期地继续连锁反应.从控制器访问其他控制器是可能的,但似乎没有任何直接的方法这样做,所以我猜我仍然没有做对.
通过使用组件,可以轻松解决此问题,因为组件可用于我想要的每个控制器.但就像我在开头写的那样,为这一项任务专门创建一个组件感觉很尴尬.对我来说,组件看起来更像是额外功能的包(如核心组件),而不是共享控制器特定逻辑的东西.
由于我是新手MVC的新手,我可能完全误解了这个概念.如果有人指出我正确的方向,我会再次感激:)
CakePHP 不容易支持,这是一个明确的错误
我最终主要是向超类 AppController 添加功能。
归档时间: |
|
查看次数: |
1153 次 |
最近记录: |