扩展 Kohana 中的模板控制器
-
19-09-2019 - |
题
我在尝试为我的项目追溯创建新的基本控制器时遇到了一些困惑。如果我没记错的话,我需要做的就是在中创建一个文件 application/libraries
被称为 MY_baseController.php
包含以下内容:
class baseController extends Template_Controller
{
public function __construct()
{
parent::__construct();
}
}
然后重写我的其他控制器来扩展 baseController
代替 Template_Controller
:
class Frontpage_Controller extends Template_Controller
到
class Frontpage_Controller extends baseController
然而,当我这样做时,访问 Frontpage_Controller
提醒我:
找不到类“baseController”...
我在这里缺少什么?
解决方案
一些摆弄之后,我认为以下是我的解决方案... 的
这MY_baseController.php
并进入application/libraries
移动application/controllers
。重命名为base.php
和更改以下行:
class baseController extends Template_Controller
到
class Base_Controller extends Template_Controller
现在您的FrontPage控制器内,延伸的,而不是Base_Controller
baseController
。
其他提示
请务必遵循 Kohana 约定,以确保所有内容都能正确自动加载!模型助手和库也有类似的内容。
另外,如果您想保持主应用程序控制器文件夹干净,我建议为您的应用程序制作一个 Kohana 模块,并将所有模板和杂项扩展控制器放在那里,以使它们与主控制器分开。
只是不要忘记将模块添加到您的配置文件中!
我知道这是一个老问题,但我想我美言几句。你只需要从文件名称中删除MY_前缀为您扩展系统中的文件夹_Core后缀一个类时,只有真正需要它。例如,对于文件
class Controller extends Controller_Core
将被命名为MY_Controller.php。
在这种情况下,刚刚命名的文件baseController.php并把它在库中的文件夹会工作。
没有违法,但我不得不一声我的电脑上我的头,把它与Kohana的3.1工作。我终于找到了该延长模板控制器语法应该是:
class Controller_Base extends Controller_Template