我正在尝试使用CodeIgniter实现HMVC。我使用bigbucket的这个库
当我创建管理模块时,它对我很好。但现在我想在模块中定义模块。所以,我的结构将是这样的: -
这里“admmin”是我的主要模块。而页面是管理员的子模块。我再次定义了页面模块的两个子模块1)静态和2)动态。
当我使用网址访问管理模块时: -
http://localhost/ci_hmvc/index.php/admin
它有效。但是当我尝试使用此URL访问子模块时: -
http://localhost/ci_hmvc/index.php/admin/page
它给了我404错误。
任何提示都会有所帮助。
感谢
答案 0 :(得分:4)
这不是它应该如何工作的。模块应该在模块中拥有自己的文件夹(即使您仍然可以将它们放在本机控制器,模型,视图文件夹中,如果您不需要模块化分离)。
您应该为每个模块“函数”创建一个新方法。通过这种方式,他们仍然可以使用相同的属性和方法,并且在拥有新文件夹时也没有意义。
class Page extends MX_Controller {
public function __construct()
{
parent::__construct();
// Your constructor code
}
public function static()
{
// Your static page code
}
public function dynamic()
{
// Your dynamic page code
}
}
路由和调用模块,您可以在bitbucket页面上阅读所有相关内容。
答案 1 :(得分:0)
我和我的同事和高级开发人员讨论了这个问题。经过长时间的讨论,我们同意“我们可以实施这种结构,但这不是一个好的做法,会给维护带来问题和复杂性。”