0

我想添加一个应用程序常量,例如YII_DEBUG. 我发现它应该在 YiiBase 类中定义。但我不知道这样做的最佳方法是什么。

这就是 Yii 文档所说的

Yii 是一个服务于通用框架功能的辅助类。

它封装了提供实际实现的 YiiBase。通过编写自己的 Yii 类,您可以自定义 YiiBase 的一些功能。

我应该如何编写自己的 Yii 类,我应该把它放在哪里,我应该在哪里调用它?

4

2 回答 2

1

您可以在相当多的地方定义全局常量,以便在请求处理期间自动定义它们;选择取决于什么是最有意义的。您的选择包括:

  1. 入口index.php 脚本——常量将在整个应用程序中可用。
  2. 配置文件,在您编写之前——常量将在您的return array(...)整个应用程序中可用,但在调用Yii::createApplication(或等效的)之前不能使用。createWebApplication
  3. 应用程序类定义本身(其中它们也可以是类常量而不是全局常量)。createApplication同样,这些常量只有在入口脚本中被调用后才能使用。

如果你想定义一个普遍适用的常量,YII_DEBUG你应该像 Yii 那样做,然后选择选项 #1。

于 2013-02-06T13:27:08.277 回答
0

这取决于你想用这个类做什么来确定它的最佳实践。最简单的方法是在vendors 文件夹中设置新的类文件并将其命名为myclass.php。然后,您需要确保在您的 config/main.php 文件中选择 vendor 文件夹,如下所示:

Yii::import('application.vendors.*');
require_once('myclass.php');

最后,您应该能够从应用程序中的几乎任何地方调用您的新类,如下所示:

$myclass = new myclass();
$myclass->thisMethod();

当然,还有其他方法可以做到这一点。根据您希望自定义类执行的操作,您可能会更好地使用不同的方法,但这种方式肯定会让您快速启动并运行。

于 2013-02-06T13:26:32.133 回答