ussualy KO3 的工作原理:1.从"系统"获取文件2.用每个使用的"模块"替换一些3. 最后 - 替换为"应用程序"
我必须做什么才能在这些链中添加另一个文件夹文件夹?如何扩展此级联?例如,我想像下面这样加载类:
- "/系统/"
- "/模块/"
- "/之前插件/"
- "/插件/"
- "/申请前/"
- "/应用程序/"
我希望"插件"具有与"模块"相同的功能我可以通过以下方式将每个插件初始化为模块:
Kohana::plugins(array(
'plugin_1' => PLUGPATH.'plugin_1', // Plugin 1
'plugin_2' => PLUGPATH.'plugin_2', // Plugin 2
// and so on
));
我必须做什么才能再创建一个看起来像应用程序文件夹,该文件夹将在应用程序启动之前自动加载?("/before-application/" 和 "/before-plugins/")
我知道必须放入应用程序/类/Kohana/Core.php从SYSPATH复制并做点什么。但是什么?请帮帮我!
你居然弄错了。 Kohana::auto_load()
将Kohana::find_file('classes', $file)
用于您的课程。这里适用的部分是
foreach (Kohana::$_paths as $dir)
{
if (is_file($dir.$path))
{
// A path has been found
$found = $dir.$path;
// Stop searching
break;
}
}
既然Kohana::$_paths
是
array(11) ( 0 => string(32) "/var/www/guides/3.3/application/" 1 => string(33) "/var/www/guides/3.3/modules/.../" 9 => string(38) "/var/www/guides/3.3/modules/.../" 10 => string(27) "/var/www/guides/3.3/system/" )
将首先搜索应用程序。如果在那里找不到任何东西,那么 Kohana 将在模块中查找。并且仅当尚未找到现有类时,才会查看系统目录。
现在,通过编辑Kohana::$_paths
您可以轻松控制Kohana用于自动加载的顺序。