问题标签 [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 投票
0 回答
484 浏览

codeigniter - 如何在实时服务器上 Codeigniter HMVC 回调函数错误?

大家早上好

我已经在 codeigniter3 hmvc 中建立了一个网站。所有路由和回调函数在我的本地主机 xampp 上都能完美运行,在 godday 共享托管实时服务器上上传项目后,我面临回调函数问题,日志文件中显示以下错误我不明白为什么会发生这种情况。我的用户日志记录功能也显示此错误:-

无法访问与您的字段名称密码对应的错误消息。(验证登录)

codeigniter的logs文件夹中的错误日志

这些是我的应用程序/config/config.php

Bellow 是我的 application/config/routes.php 设置

这是我在前端模块中的 Home.php 控制器

这是我的表单验证库文件

这是我的用户控制器文件

0 投票
1 回答
817 浏览

php - 访问 HMVC Codeigniter 中模块的子文件夹

我的模块中有一个用于上传的子文件夹。我正在为 codeigniter 使用 HMVC 扩展。我的应用程序的结构如下:
modules
--mymodule
----/controllers
----/models
----/views
----/uploads
-------/images

如何使用 URL 访问图像文件夹?

0 投票
0 回答
346 浏览

php - Codeigniter-HMVC 框架不接受控制器下的目录名称与同一级别上的控制器名称相同

Codeigniter-HMVC 框架不接受控制器下的目录名称与同一级别的控制器名称相同。

URL:返回 404 错误,因为它正在[my Domain]/my_module/level1_controller/level2_controller 寻找方法名称level2_controllerlevel1_controller.php

这只是 HMVC 的限制还是我做错了?有什么方法可以让 HMVC 理解目录名称与同一级别的控制器名称相同?

0 投票
0 回答
441 浏览

php - CodeIgniter HMVC 动态角色访问问题

我正在使用 CodeIgniter 3.x、最新的 HMVC、ion Auth 进行身份验证并基于应用程序角色。
该应用程序是动态的基于角色的。即数据库处理角色 ► 用户 ► modules-controlers-CRUD_rights
现在一个模块函数调用第二个模块函数。问题是当第一个模块权限为 READ 并且第二个模块没有授予特定用户的 READ 权限时。我无法弄清楚如何处理这种请求。

例如。

Role1 没有对 ClientsModule 的读取访问权限。
现在,在编码时,我通过以下代码访问客户端:

我得到 404,因为 ClientsModule/ClientController 构造函数的代码如下。

我不确定我在哪里遗漏了一些东西。我在正确使用 HMVC 方面的知识或使用 OOPS 的知识都达不到标准。如果有人有 HMVC 和/或 CI 经验,请帮助我。

0 投票
0 回答
103 浏览

php - 未找到模块视图

我在使用带有模块的 Codeigniter 的 HMVC 实现时遇到问题。

我创建了一个身份验证模块,称为autenticacion,出于显而易见的原因,为了检查会话的有效性和到期,它总是在MX_Controller中使用,这样:

或者

取决于某些条件。

自从我添加了这个认证实现后,对其他模块的正常访问就被破坏了。

现在,例如,如果我尝试访问

我编写了这个模块文件:

modules/items/controllers/Items.php(这扩展了 MX_Controller) 和视图:

尽管该视图已加载到 Items 控制器中,但仍找不到该视图。

如果我在 Items 构造函数中打印出 $this,则MY_Loader实例会显示此属性:

[_module:protected] => 认证

我理解这意味着项目模块没有被加载到加载器中,尽管我可以到达它的控制器。另一个模块(autenticacion)似乎把这一切搞砸了。

我该如何解决这个问题?

编辑:

这是我在MX_Controller中更改的内容,以便处理会话检查和更新:

0 投票
3 回答
1144 浏览

php - Codeigniter 3.x - 将 $data 与动态数据一起预加载到所有视图

问题:

出于好奇,我想知道 Codeigniter 是否提供了一种将特定数据始终加载到视图中的方法。

例如:我有一个配置文件,其中包含有利于访问所有页面的视图内部的站点信息,而不是每次加载视图时都必须调用加载该数据,我是否可以始终包含它?



选项1:

某种 MY_Loader 扩展 - 我们已经有一个 MY_Controller,所以做一个 MY_Loader 类并让 MY_Controller 调用它而不是 CI_Loader 不会太牵强。但是,我不确定这是可能的。

选项 2:

我知道如果您编辑系统文件,这是可能的,但我真的不希望这样做。因为这使得更新 CI 时很难跟踪更改。

选项 3:

???


想法?

编辑澄清:这专门用于将数据加载到视图中,扩展CI_Controller和设置成员变量,只能从模型和控制器访问,而不是视图。

0 投票
1 回答
710 浏览

codeigniter - 如果会话过期,重定向时不显示自定义错误消息

我正在使用Codeigniter 版本 3.0.3 和 HMVC开发我的登录控制器

当用户登录到管理仪表板时,它会设置一个会话令牌,然后将其重定向到 url

当会话到期时,它会重定向回管理页面,并且应该在登录页面上显示消息。我正在尝试设置$data 变量消息而不是使用闪存数据

由于某种原因,当会话过期并被重定向回管理员时,警告消息不会激活。

问题:为什么当会话过期后重定向回管理员登录时自定义数据消息不显示?

我还使用 codeigniter 钩子函数来运行登录检查功能

控制器

文件名:登录.php

登录视图 $error_warning

0 投票
1 回答
215 浏览

codeigniter - Codeigniter 3 登录检查功能未显示正确的 flashdata 消息

我正在创建一个登录检查功能。但是我的两条闪存数据信息设置不正确。

  1. 如果用户已登录,然后如果会话过期,则应设置此闪存数据消息您的会话令牌已过期!
  2. 如果用户尚未登录并尝试访问未登录的控制器,则应设置此 flashdata 消息您需要登录才能访问此站点!

由于某种原因,它总是显示第二条 flashdata 消息。

问题:我怎样才能正确使用这两个 flashdata 消息。

控制器: Login.php 功能:检查

我通过 codeigniter 钩子运行函数,这样我就不必在每个控制器上添加它。

0 投票
1 回答
313 浏览

php - HMVC安装过程中出现错误,如何删除?

我是 codeigniter HMVC 结构的新手,请按照此链接进行安装。 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/src

已执行所有步骤,但到达第 12 步时显示错误。

脚步:

  1. 从干净的 CI 安装开始
  2. 为您的安装正确设置 $config['base_url']
  3. 访问 URL /index.php/welcome => 显示 Welcome to CodeIgniter
  4. 将 Modular Extensions third_party 文件拖放到 application/third_party 目录中
  5. 将 Modular Extensions 核心文件放到 application/core 中,除非您希望创建自己的控制器扩展,否则不需要 MY_Controller.php 文件
  6. 访问 URL /index.php/welcome => 显示 Welcome to CodeIgniter
  7. 创建模块目录结构 application/modules/welcome/controllers
  8. 将控制器 application/controllers/welcome.php 移动到 application/modules/welcome/controllers/welcome.php
  9. 访问 URL /index.php/welcome => 显示 Welcome to CodeIgniter
  10. 创建目录 application/modules/welcome/views
  11. 移动视图 application/views/welcome_message.php 到 application/modules/welcome/views/welcome_message.php
  12. 访问 URL /index.php/welcome => 显示 Welcome to CodeIgniter

错误:

您的视图文件夹路径似乎设置不正确。请打开以下文件并更正:index.php

请问怎么解决?route/config.index 等是否需要更改?我也应该将配置文件夹复制粘贴到每个模块吗?目前他们都是默认的。我的 CI 版本是最新的 3.0.3 并且在配置 index_page 是空的而不是 index.php

还通过添加 index.php 而不是空来检查。我在网上搜索的另一件事,也尝试过大写 View、Controler 等文件夹名称,但什么也没发生。

0 投票
1 回答
963 浏览

php - Codeigniter 会话库 - HMVC

我在 CI 3.0.3 和最新的HMVC Extension中编码时遇到了一个问题。我正在自动加载一些库、助手等等。会话库也是如此。现在我有几个控制器都工作正常,除了一个。

在该控制器中,我使用以下代码:

在使用这个静态函数时,我得到了错误:

日志说会话类已初始化。

任何想法为什么我得到这个错误?

编辑: - - - - - - - - - - - - - - - - - - - - - - - - ----------------------

为了防止愚蠢的答案如下......

在 CI 中,每个请求不能调用超过 1 个控制器。因此,要实现HMVC,我们必须模拟控制器。它可以通过库来完成,或者通过这个“Modular Extensions HMVC”贡献来完成。

使用库和“模块化 HMVC”HMVC 类之间的区别是: 1. 无需在 HMVC 类中获取和使用 CI 实例 2. HMVC 类存储在模块目录中,而不是库目录中。

编辑 2:------------------------------------------------------------ ----------------------

更多问题:

  • 是的,会话库是问题所在
  • 是的,仅与此 HMVC 插件结合使用
  • 是的,仅当您使用静态方法时modules::run();
  • 不,我需要这种方法来模拟控制器中的控制器