我想添加一个应用程序常量,例如YII_DEBUG
. 我发现它应该在 YiiBase 类中定义。但我不知道这样做的最佳方法是什么。
这就是 Yii 文档所说的
Yii 是一个服务于通用框架功能的辅助类。
它封装了提供实际实现的 YiiBase。通过编写自己的 Yii 类,您可以自定义 YiiBase 的一些功能。
我应该如何编写自己的 Yii 类,我应该把它放在哪里,我应该在哪里调用它?
您可以在相当多的地方定义全局常量,以便在请求处理期间自动定义它们;选择取决于什么是最有意义的。您的选择包括:
index.php
脚本——常量将在整个应用程序中可用。return array(...)
整个应用程序中可用,但在调用Yii::createApplication
(或等效的)之前不能使用。createWebApplication
createApplication
同样,这些常量只有在入口脚本中被调用后才能使用。如果你想定义一个普遍适用的常量,YII_DEBUG
你应该像 Yii 那样做,然后选择选项 #1。
这取决于你想用这个类做什么来确定它的最佳实践。最简单的方法是在vendors 文件夹中设置新的类文件并将其命名为myclass.php。然后,您需要确保在您的 config/main.php 文件中选择 vendor 文件夹,如下所示:
Yii::import('application.vendors.*');
require_once('myclass.php');
最后,您应该能够从应用程序中的几乎任何地方调用您的新类,如下所示:
$myclass = new myclass();
$myclass->thisMethod();
当然,还有其他方法可以做到这一点。根据您希望自定义类执行的操作,您可能会更好地使用不同的方法,但这种方式肯定会让您快速启动并运行。