何时不在CakePhp 2.x中使用可包含行为

med*_*att 4 containable cakephp-2.0

几次将Containable Behavior添加到我的各种模型类之后,我很清楚只需将该行放入AppModel中,从而使每个模型都可以包含.然后让我想知道,是否存在某种特定模型具有可包含行为不可取或适得其反的情况?

jos*_*ing 6

我想说太少担心.我把可容纳的App模型:

class AppModel extends Model {
    public $recursive = -1;
    public $actsAs = array('Containable');

}
Run Code Online (Sandbox Code Playgroud)

无论如何,包含的覆盖递归,所以你不需要将递归设置为-1,但我只是为了清晰起见.始终使用可控制的力量使您始终只使用您想要/需要的最佳实践.对于小型应用程序,使用递归和忽略可包含的东西并不是世界末日,但它仍然不是最佳实践.

因此,我认为使用递归而不是包含的唯一论据是,在小型应用程序中,您节省了很少的开发时间,并且它不会真正显着影响性能.我肯定会默认使用可包含的东西,并在你认为过度杀戮的地方删除它,而不是相反.