假设我希望在我的所有模型、视图和控制器代码中(在特定网站(应用程序)中)中提供一个常量、函数或类。我可以把它们放在哪里?我不介意在我需要它们的每个文件中明确导入它们,但我不知道如何(简单的require_once
似乎不起作用)。
您可以将它们放在供应商文件夹中(在应用程序/供应商或模块/MOD/供应商中)。然后你可以像这样加载它:
require Kohana::find_file('vendor', 'folder/file','ext');
您可以在用户指南中阅读更多相关信息
现在,应该说明您通常不应该使用函数或全局变量。
我在 Bootstrap 中声明常量.php并为 application/classes/Helpers
下的一般函数创建自己的帮助程序。
如果您需要将第三方库集成到 Kohana 中,或者想让代码可供其他 Kohana 用户使用,请考虑创建一个模块。
您可以在新的 php 文件中定义所有常量并将其放在 application/classes
目录中。在您的模板控制器或主控制器(如欢迎或网站)中,只需将代码放在__constructor()
require_once Kohana::find_file( 'classes', 'filename' );
我建议您将常量变量放在bootstrap.php
文件中,因为这是由框架在每个请求之前加载的。
你可以简单地把你的类放在框架会找到的classes
目录的根目录中。
这对我来说效果很好...
在应用程序/配置/常量中.php:
define('SOME_COOL_CONSTANT', 'foo');
return array();
在索引中.php:
Kohana::$config->load('constants');
然后,SOME_COOL_CONSTANT应在全球范围内可用。