0

我知道App::uses延迟加载,但是如果我们要在我们CakeTime的一小部分代码中使用 ie(比如在一个 if 语句中,该语句被调用该方法的 1/3 次),那么最好的地方是放App::uses('CakeTime', 'Utility')

选项包括:

  1. 应用控制器
  2. 我的控制器
  3. MyController::方法名
  4. MyController::methodName 在 if 语句中(实际使用的地方)。

我把它放在 4 中,因为我猜肯定有一些明显的开销(即使非常小),但我看不出有任何理由让它出现在控制器的每次调用中。我的同事说 2 因为它“我们将来可能会在其他地方需要它,并且它会延迟加载,所以这不是问题”。我对此的回答是,如果我们在其他地方需要它,那么我们应该根据情况重新定义放置它的位置。

你的意见是什么,为什么?

4

1 回答 1

2

没有首选的地方,只有一个“正确”的地方。始终在类实际使用它的文件中。

因此,如果您在 MyController 中使用 CakeTime,那么您只能在同一个文件的顶部放置它。

除了这里的技术方面,为即将到来的 3.0 版本这样做也是明智的。如果您想要迁移(并因此使用命名空间声明),如果您将那些以前的 App::uses() 语句放在正确的位置,您将非常感激。

于 2013-08-31T17:56:49.340 回答