【问题标题】:What is a CakePHP Behavior?什么是 CakePHP 行为?
【发布时间】:2013-08-30 04:13:20
【问题描述】:

CakePHP 行为究竟是什么?我应该在哪里以及如何使用它?

【问题讨论】:

  • 参见食谱中的behaviors chapter
  • 有一整章(根据上面的评论)关于行为是什么,何时/为什么使用它们等等。这里不适合提出这样的问题。
  • 有时您正在寻找不同的方法。我认为这个问题是有效的。戴维特的回答对我帮助很大。只要记住接受他的回答。

标签: cakephp cakephp-2.0 cakephp-2.1


【解决方案1】:

CakePHP 中的行为存在于框架的模型端。由于我们都喜欢创建可重用且枯燥的逻辑,因此 CakePHP 提供了行为来摆脱“丑陋”和额外的代码。行为“改变”模型的行为方式,强制其“充当”某种东西。

你可以想到它们,它们用于模型,哪些组件用于控制器,哪些帮助器用于视图。行为可以帮助您使您的代码更加抽象,更不用说它们可以在不同的模型之间共享。

当你强迫一个模型表现得像某物或某物时,你只需使用该行为的函数。当然,稍后您可以取消或暂时强制模型忘记这种或那种行为。

您可以向模型询问有关行为的许多其他内容,例如检查模型的行为是否像这样或那样,如果不是这样。

通常,您可以使用 public $actAs = array(); 语句告诉模型行为,但您也可以通过 $this->ModelName->Behaviors->load('BehaviorName') 来执行此操作。

您当然会在模型中使用它们。除非您实现自己的行为而不是使用面包店提供的大量行为,否则您会加载并使用它们,就好像模型已经支持此类功能一样。

【讨论】:

【解决方案2】:

CakePHP 中的行为存在于框架的模型端。由于我们都更喜欢创建可重用且枯燥的逻辑,因此 CakePHP 提供了行为来摆脱“丑陋”和额外的代码。行为“改变”模型的行为方式,强制其“充当”某种东西。

【讨论】:

    猜你喜欢
    • 2011-08-08
    • 2011-07-27
    • 1970-01-01
    • 2013-10-11
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多