问题标签 [codeigniter-hmvc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4064 浏览

php - 代码点火器模块化扩展 - MX_Router::_set_default_controller() 的访问级别必须是公共的(如 CI_Router 类中)

我从安装了流行的模块化扩展 - HMVC

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc

并使用 codeigniter 2.2.2 进行设置,但当一切正常时,我收到此错误

MX_Router::_set_default_controller() 的访问级别必须在 C:..\application\third_party\MX\Router.php 的第 241 行中是公共的(如 CI_Router 类中)

0 投票
0 回答
560 浏览

php - 查看未渲染的 Codeigniter HMVC

我正在尝试在 Codeigniter HMVC 中制作一个 CRUD 模块,但我似乎在此过程中遗漏了一些东西。这就是我所面临的。

我有一个具有管理功能的新闻模块

渲染网格函数

在这里,show_dashboard 函数只是加载了一个模板布局,其中包含所需的视图。

模板->管理

视图(省略页眉和页脚)

现在,当我尝试使用url news/manage 时,它​​给了我一个没有源代码的空白页面。但是当我尝试类似的东西时

crud/renderGrid/news/sometitle/ 它工作得很好。

请指出我在这里错过了什么。谢谢。

工作解决方案:

感谢 wolf 我添加了一条路线

$route['managenews']='crud/renderGrid/news/News';

它就像魅力一样。但是为什么我在这里需要一条路线?它不应该只是工作吗。这意味着对于每个模块,我的路由文件中都需要有 4 个条目才能使 CRUD 系统正常工作。任何人都可以提出更好的方法吗?

0 投票
0 回答
329 浏览

codeigniter - codeigniter HMVC + Smarty:我们可以从模板调用模块视图例程吗

刚开始使用HMVC module extensionand Smartywith Codeigniter。在 HMVC 中,我们可以从视图调用模块函数来生成特定视图(在我的例子中,在用户未登录的情况下用于登录的模式对话框):

在我开始使用 Smarty 模板之前,所有这些似乎都运行良好。我的问题是——

直接从模板调用 php 例程来生成视图是一种好习惯吗?

是否有其他替代方案可以保持 HMVC 完好无损?

我可以做到这一点的一种方法是创建特定模板,例如 login_dialog.tpl,并根据用户登录状态直接包含在我的基本模板中。但是,我觉得它违背了 HMVC 的目的,我们应该使用模块来生成任何视图,而不是直接包含它们。我可能错了。请提出替代方案..

0 投票
2 回答
1533 浏览

php - Codeigniter:常规控制器是可以的。HMVC 控制器不起作用(找不到页面)

所以这是一个烦人的问题,有些东西在你的本地项目上运行良好,但是一旦部署到生产环境中,一切都会中断。

在这种情况下,我可以访问由常规 codeigniter 控制器(位于应用程序/控制器中)生成的所有页面。但是,一旦我尝试访问 HMVC 模块,我就会得到一个 codeigniter 404 错误。

常规控制器的情况仍然可以:

因此,例如,如果我有一个位于 application/controllers/C1.php 中的常规控制器 C1,其中包含函数 page(),我可以毫无问题地访问 www.mysite.com/C1/page。

访问 HMVC 控制器的问题:

但是,如果我想通过 URL www.mysite.com/C2/page 访问位于 application/modules/C2/controllers/C2.php 中的控制器 C2,我会收到 404 错误。

通过 ajax 访问常规控制器的问题:

使用引用常规 CI 控制器的路径执行 ajax 调用时会出现第二个问题。ajax 调用中使用的路径似乎无法识别,我收到 500 错误。但是,当直接在 URL 栏中调用相同的路径时,似乎执行了正确的函数。我之前通过应用Codeigniter base_url() not working for ajax中找到的解决方案解决了类似的问题。但是,我还没有确定这是否是同一个问题。

感觉像是装载机问题,但我不是专家!

即使是加载程序问题,为什么它会在本地而不是在生产环境中工作?

你有没有遇到过这样的事情?你知道如何解决这个问题吗?

**编辑 3:** 我删除了之前的 2 个编辑,因为它们现在无关紧要。

激活调试模式并添加一些日志后,我终于找到了我认为的答案。

长话短说,我的本地 codeigniter 版本在 Windows 上运行,并且由于某种原因,当尝试访问控制器时,该案例被忽略了。所以File.phpfile.php被认为是相同的。

但是,我的生产服务器运行 linux,因此它不认为 2 个不同的文件名引用同一个文件。所以我要求文件.php,服务器回答“没有这样的文件”,因为我真正想要的文件是文件.php

我需要上交。我会在进行更多检查后,明天提出一个正确的答案。

谢谢,

洛伊克。

0 投票
4 回答
32535 浏览

hmvc - 如何在 codeigniter 3.0 中实现 HMVC?

目前我使用的是codeigniter3.0 版。我想知道如何在其中实现 HMVC 结构,有人可以帮忙吗?

0 投票
2 回答
1079 浏览

codeigniter - Codeigniter-HMVC 表单验证复选框数组回调验证不起作用

Codeigniter 表单验证复选框验证不起作用。我一直在做一个项目,我可以在我的视图上选择不同的复选框。当我提交表单时,如果所有框都是空的,那么应该抛出回调消息

但由于某种原因无法使用

<input type="checkbox" name="tables[]" value="<?php echo $table;?>" />

我环顾了堆栈溢出网站和其他网站,并尝试了很多但没有一些工作。

问题让我的回调函数工作的最佳解决方案是什么,所以如果所有复选框都为空,那么将抛出我的表单验证消息?

对于任何想要 var dump 结果的人

控制器

看法

HMVC 的 MY_Form_Validation 库那为什么需要 $this$this->form_validation->run($this)用于回调

0 投票
1 回答
1494 浏览

php - Codeigniter 需要从一个模块连接到另一个模块

我想从一个模块中的一个控制器连接到另一个模块中的另一个控制器。我想从我的登录模块转到我的仪表板模块并使用仪表板模块中的一个函数。基本上只是从我的登录模块切换到我的仪表板模块。这是我的登录控制器和仪表板控制器。

我的仪表板模块中的控制器有一个名为 home 的功能,我正在尝试连接和使用。仪表板的主页功能与另一个模块有连接,但我无法连接从登录到仪表板的工作。此外,我的登录方式也需要通过 members_area 函数连接到仪表板模块。非常感谢所有帮助。

0 投票
0 回答
156 浏览

php - 使用 HMVC 在 codeigniter 中扩展 url_helper

我正在尝试在 codeigniter 中扩展 url_helper,但我无法让它工作。任何帮助都会非常感激。

我在 My_url_helper 中的代码是

我想像 base_url() 一样调用 assets_url(),但出现以下错误

致命错误:调用 C 中未定义的方法 MX_Config::assets_url().... My_url_helper.php 在第 9 行调用堆栈#TimeMemoryFunctionLocation 10.0005146600{main}()..\index.php:0 20.0014182912require_once('C:\ wamp\system\core\CodeIgniter.php')..\index.php:203 30.08072528912call_user_func_array:{C:\wamp\system\core\CodeIgniter.php:359} ()..\CodeIgniter.php:359 40.08072528976Dashboard ->index()..\CodeIgniter.php:359 50.08072529456Modules::run()..\dashboard.php:13

有任何想法吗?

哦,在我的配置文件中我有这个代码:

0 投票
1 回答
234 浏览

php - Codeigniter HMVC -> 从 MY_Form_validation.php 文件中调用自定义验证器

如何在 HMVC 中创建自定义表单验证器MY_Form_validation.php file在任何HMVC结构中运行它们以进行验证。module/controller

注意:-我在运行回调验证器时没有问题,没有问题。

我想创建一些通用验证器,我可以在项目的任何地方应用它们。

0 投票
1 回答
1421 浏览

php - 检查用户是否已登录 - 使用 Codeigniter HMVC 进行 Ion Auth

我刚刚使用 HMVC 从标准 CI 切换到 Codeigniter Skeleton。我正在尝试检查用户是否已登录并根据状态显示菜单项。

此代码适用于带有 ion_auth 的标准 CI:

如果我将它与 HMVC 和 ion_auth 一起使用,我会收到以下错误:

遇到 PHP 错误

严重性:通知

消息:未定义的属性:CI::$ion_auth

文件名:MX/Loader.php

行号:279

致命错误:在第 59 行的 C:\wamp\www\myapp\application\views\header.php 中的非对象上调用成员函数 logged_in()

我已尝试将 ion_auth 库添加到 autoload.php,但是当单击链接或使用任何 ion_auth 路由时,我会收到“无法重新声明类 Ion_auth”错误。