gpt4 book ai didi

php - HMVC 和文件夹中的 View (Codeigniter)

转载 作者:搜寻专家 更新时间:2023-10-31 20:52:13 25 4
gpt4 key购买 nike

我在 Codeigniter 中将 Tank Auth 库与 HMVC 一起使用,整个 tank auth mvc 文件都在它自己的名为“auth”的模块中。 tank auth 加载在文件夹 (auth) 中找到的 View (domain.com/application/modules/auth/views/auth/login_form.php) 使用:

$this->load->view('auth/login_form', $data);

据我所知,上面的代码将在没有 HMVC 的情况下正确加载 auth 文件夹中的 login_form.php。但是对于 HMVC,我需要以下代码来加载 View :

$this->load->view('auth/auth/login_form', $data);

是否有我们应该更改的设置,以便我们不必通过(模块名称)/( View 文件夹名称)/( View 文件名)来引用 View 文件?或者这是完全正常的,大多数人都是这样做的?

似乎很麻烦,我必须将模块文件夹名称“auth”添加到每个 view() 函数调用,并且如果我更改模块文件夹的名称,则更改所有这些名称。

最佳答案

假设您使用的是 Modular Extensions - HMVC :

如果你已经将 auth 设置为一个模块,你可以调用:

$this->load->view('login_form', $data);

文件 /views/login_form.php 将从当前模块中加载。这适用于模型、语言文件、库等。将模块视为其自身的应用程序,这是您通常会做的。

此外,要从模块目录外的另一个模块或 Controller 加载文件,您可以使用 $this->load->view('auth/login_form');

如果找不到该文件,它将检查其他模块路径,包括默认目录。这可能是也可能不是其他 HMVC 包的工作方式,我不确定 - 但这是 MX 的工作方式。

关于php - HMVC 和文件夹中的 View (Codeigniter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6269330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com