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

php - Codeigniter HMVC 对性能的影响

好的,所以Codeigniter 中的 HMVC 是基于许多 stackoverflow 讨论(例如HMVC 模式MVC vs HMVC )的可扩展 Web 应用程序(使用 Kohana 3)的方式。

但是,在 Codeigniter 中使用 HMVC 方法会如何影响性能?据我了解,HMVC 将“模拟控制器”。假设一个一天的“大型”项目,Codeigniter 的实施会不会是一个未来的问题?

0 投票
1 回答
2928 浏览

php - CodeIgniter 的 HMVC 模块化扩展存在问题

我一直在使用 PHP 5.3、CodeIgniter 2.0 和 HMVC Modular Extensions 在 MacOS X Snow Leopard 上进行本地开发。一切都很好。

突然,我无缘无故地在尝试打开页面时偶尔会遇到此错误:

无法选择指定的数据库:app 文件名:/Library/WebServer/Documents/www/development/appdb/third_party/MX/Loader.php 行号:96

该错误不会发生在任何特定位置,它似乎每加载 5-10 个页面左右就会出现一次。它通常在刷新后消失,尽管有时我可能需要刷新几次。

有没有人遇到过这个错误?我的 Mac 上的 mySQL 只是有些脆弱吗?(我还尝试导出当前数据库并以不同的名称重新导入它并分配该新数据库,但问题仍然存在。我不知道如何在 Mac 上测试和“修复”MySQL 数据库。)

提前感谢您的帮助!

加里

0 投票
6 回答
13115 浏览

php - 在 HMVC 结构中使用 Ion Auth 作为单独的模块

我有兴趣将 ion auth 用于我在 HMVC 模式上运行的项目。该应用程序是用 Codeigniter 编写的。

我面临的问题是,一旦将 ion auth 放置在 /app/modules/auth 文件夹中,当我尝试访问该模块时,我会收到以下错误:

HTTP 错误 500(内部服务器错误)
服务器尝试完成请求时遇到了意外情况。

请在这里帮助我,我确定我遇到了某种配置/路径问题,但就是不知道在哪里。

我只是从 github 下载了 ion_auth 文件,并将提取的文件原样放在模块文件夹中。我删除了加载数据库、会话等库的所有行,因为我使用了配置来自动加载它们。但是我离开了 ion_auth 库的加载。

在模块文件夹 modules/auth 中,我有一个与模块特定配置、库等文件夹类似的应用程序结构。

让我知道我在哪里做错了,如果我有任何运气,我将继续搜索并修复此问题并发布。

0 投票
1 回答
1579 浏览

jquery - Codeigniter HMVC 并从 jQuery 调用视图

Codeigniter 中的 HMVC 新手。

动态表单允许在用户单击链接时创建新的“段”。

当前段 html & php 在 module/view/segment_view.php 中。该视图还需要动态 php 变量。

如何使用 jQuery“加载视图”?我知道我不能直接从 jQuery 加载视图,但是对于如何为 AJAX 调用构建控制器感到迷茫。似乎这可能不是 Codeigniter 的强项?

编辑:
“段”在表单内。表单始终有 1 个段。jQuery 可以添加更多的段。每个段都需要 php 数组来进行表单输入和验证。

这是 form_view 文件的精简版本

好的,所以这并没有真正将应用程序逻辑与表示分离,是吗?哈哈。那么构建此代码的最佳方法是什么,以便代码是 HMVC 并且可以从 php 控制器/视图以及 jQuery 访问?

0 投票
1 回答
332 浏览

php - Kohana 3 内部操作

我认为该框架不应该成为开发人员的笼子,而且因为 Kohana 提供了很多自由,我只是想知道其他人如何处理两个与动作相关的事情:

  1. 内部行动。我的意思是,如果我有一个非常长的动作,我会将它划分为一些子动作,例如 internal_action、internal_someotheraction。你怎么看,这是一个好习惯吗?或者,也许您避免了其他功能,然后是控制器中的标准操作?然后也许检测是称为内部的动作?

  2. 当您想通过做来重定向到其他操作时,您是否有时会遇到这种情况$this->action_other;return;?或者你总是创建一个新的 HMVC 重定向?

0 投票
3 回答
1634 浏览

php - PHP MVC 表单处理在哪个动作?

我想知道 MVC 中的 HTML 表单处理。我目前使用 Kohana,但这个问题本质上是通用的。所以我想收集关于两种方法的意见和建议:

  1. 继续进行,显示表单:

    /li>
  2. 在其他操作中保持表单处理,而不是显示它

    /li>
  3. 您喜欢的其他架构?

我看到第一种方法键入和处理速度更快,但第二种方法更可重用 - action_two,处理表单可以从 APP 中其他地方的表单或 ajax 调用。

你怎么看 ?

0 投票
1 回答
3816 浏览

codeigniter - CodeIgniter 和 HMVC 问题

首先,很抱歉这篇文章带来的任何便利,因为这是我第一次在这里发布问题,我需要更多时间来适应这个问题。

Q1。我想为前端和后端创建 2 个“主控制器” 如下所示

  • MY_Controller扩展CI_Controller
  • FrontEnd扩展MY_Controller并且所有前端控制器都将扩展FrontEnd
  • BackEnd扩展MY_Controller并且所有后端控制器都将扩展BackEnd

使用 HMVC (MX) 的最佳方法是什么?

感谢@Wesley Murch 提出将 3 个类 MY_Controller、Frontend、Backend 放入 MY_Controller.php 的想法,但我认为将每个类放在一个 php 文件中更好(更干净)。还是我错了?我正在考虑创建一个这样的结构:

  • ./core/MY_Controller.php(扩展 MX_Controller)
  • ./libraries/Backend.php(扩展 MY_Controller)
  • ./libraries/Frontend.php(扩展 MY_Controller)
  • autoload.php中自动加载后端前端
  • 所有前端控制器都将扩展前端(例如class Blog extends Frontend:)
  • 所有后端控制器都将扩展后端(例如class Admin extends Backend:)

如果不在后端/前端控制器中添加一行代码到include_oncerequire_once./libraries/Backend.php./libraries/Backend.php ,这是否可行?


Q2。如何使用 HMVC 实现多个主题?例如,在 MVC 中,我们可以有 2 个主题结构如下:

  • ./application/views/theme1 /view_files.php _
  • ./application/views/theme2 /view_files.php _

但是在 HMVC 中,视图文件夹位于单独的文件夹中,如果我想实现多个主题,通常我必须这样做:

  • ./application/modules/ module1 / views/ theme1 /view_files.php
  • ./application/modules/ module1 / views/ theme2 /view_files.php
  • ./application/modules/ module2 /views/ theme1 /view_files.php
  • ./application/modules/ module2 /views/ theme2 /view_files.php

这不是我想要的,因为我想将一个主题的所有视图文件放在一个文件夹中,然后,如果我想创建一个新主题,我只需要复制一个主题文件夹。但我想知道如何在不破坏 HMVC 模型的情况下做到这一点(因为据我所知,在 HMVC 模型中,模型、视图、控制器必须位于一个模块文件夹中 - 至少使用 CI)。这就是我陷入的冲突。

0 投票
2 回答
802 浏览

php - 在一个页面上组合多个控制器,无需从控制器加载控制器

我正在尝试创建一个页面,该页面根据用户权限显示某些小部件/包含。我对 CodeIgniter 和 MVC 很陌生。

例子。 我有一个日历。这有一个控制器、模型和视图,它需要包含在其他页面上。我希望将这个日历和许多其他类似的“小部件”显示在一个页面上。此页面当前有一个控制器和视图。

我知道我不应该从另一个控制器加载控制器,但看不到绕过它的方法。您可以从帮助程序加载多个控制器,还是我需要某种形式的模板?

谢谢,

雅克

0 投票
2 回答
1197 浏览

mysql - Codeigntier 偶发数据库连接错误

我正在使用 Codeigniter,过去连接到数据库没有任何问题。

我正在对数据库进行一些重组(添加列、插入数据等),现在我得到一个偶尔出现的错误。它不会出现在任何特定页面上,通常在刷新后会消失。我每查看一个页面 10-20 次才会出现一次。

似乎与这里的问题非常相似: Trouble with HMVC modules extensions for CodeIgniter

看起来可能是数据库本身的问题?任何建议,将不胜感激....

0 投票
1 回答
5439 浏览

codeigniter - CodeIgniter HMVC 设置

根据上一个问题,我正在为 codeigniter 设置 HMVC 扩展。 https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home 不幸的是,我找不到太多的文档方式。

我对如何设置我的文件夹感到困惑。我已经复制了 third_party 中的 MX 文件夹以及 core 文件夹中的文件。之后,我创建了一个应用程序/模块文件夹。从那里我想创建一个横幅滑块小部件。我在名为“slider”的模块中创建了一个子文件夹,其中包含“controllers”、“models”和“views”文件夹。在我的 application/modules/slider/controllers/ 文件夹中,我有一个名为 main.php 的控制器。在我的 application/modules/slider/models/ 文件夹中,我有一个名为 slider_model.php 的模型。首先,这是使用它的正确文件夹结构吗?如果是这样,这就是我遇到的问题。

我的加载站点的welcome.php 控制器如下所示:

在welcome_message.php 视图中,我有以下内容:

然后,在主控制器内部我有这个:

就目前而言,我收到此错误:致命错误:无法在第 57 行的 /homepages/15/d94236848/htdocs/application/third_party/MX/Base.php 中重新声明类 CI

我错过了什么?