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