问题标签 [zend-framework-mvc]

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 投票
4 回答
9782 浏览

php - 如何编写在正文中有锚标记的 Zend 框架 URL?

使用 Zend Framework 中设置的标准 MVC,我希望能够显示始终具有锚点的页面。现在,我只是在 .phtml 文件中添加了一个我想要的带有“#anchor”的无意义参数。

这会将 URL 设置为类似于 /my.controller/my.action/anchor/#myanchor

有没有更好的方法来实现这一点?导航到锚链接后,额外的 item 参数在用户的 URL 中设置,这是我不希望发生的事情。

0 投票
9 回答
5079 浏览

php - Zend 框架中的通用、包罗万象的操作……可以做到吗?

这种情况是由于有人想在他们的网站中创建自己的“页面”而不必创建相应的操作。

所以说他们有一个像 mysite.com/index/books 这样的 URL... 他们希望能够创建 mysite.com/index/booksmore 或 mysite.com/index/pancakes 但不必在索引控制器中创建任何操作. 他们(可以做简单 html 的非技术人员)基本上想要创建一个简单的静态页面,而无需使用操作。

就像索引控制器中会有一些通用操作来处理对不存在操作的请求。你如何做到这一点,甚至有可能吗?

编辑:使用 __call 的一个问题是缺少视图文件。缺少动作变得没有意义,但现在您必须处理丢失的视图文件。如果找不到异常,框架将抛出​​异常(尽管如果有办法让它重定向到丢失的视图文件上的 404 __call 是可行的。)

0 投票
2 回答
1338 浏览

php - Zend 框架 MVC 设计

我也在 zfforums 上问过这个问题,但我可能会在这里得到答复。

所以 Zend 框架是一个通用的、灵活的、松耦合的、高质量的框架。但是,我发现一些 MVC 部分不一致且过于复杂。希望你们中的一些人可以证明一些 zf 设计决策的合理性并回答一些问题:

一般问题/评论

  1. 为什么 zend mvc 不遵循与其他 zend 组件相同的命名约定?例如,mvc 使用小写,复数目录名和类名不以目录信息为前缀,因此它们不容易自动加载。

  2. 我想要添加模块根目录的选项。这样,我就不必通过添加控制器/模块目录来显式配置调度程序。我可以放入一个模块并立即访问它。

  3. 为什么视图和动作助手之间有区别?目前,帮助程序并未设计为在整个代码中共享,并且加载和访问帮助程序的方法不一致。其他框架允许您在代码中的任何位置共享相同的助手。我认为没有必要专门化和违反 DRY。

Zend 查看问题

  1. 为什么视图使用“$this”来访问资源?我认为不需要额外的打字。其他一些框架 extract() 一组视图变量,并允许从视图中加载全局函数或自动加载静态助手: myHelper::someMethod();

  2. 为什么视图助手每个类只允许一个函数?这导致了很多类和相关的维护。如前所述,我更喜欢具有任意数量方法的静态类。

0 投票
1 回答
4298 浏览

zend-framework-mvc - 如何使用 Zend Framework 提供静态页面

我们目前在我们的网站上使用 Zend 框架和 MVC 模式。我们有大量静态页面,它们位于网站的随机区域。这些页面不是可以完全绕过 ZF 的简单 HTML 页面……它们会参与 Zend_Layout 等。

在不为每个随机页面创建单独的操作/控制器的情况下提供这些页面的最佳方式是什么?重做页面的布局,使它们都属于“misc”控制器或其他东西不是一种选择,页面需要保持在我们的 URL 层次结构中以用于 SEO 目的。

0 投票
6 回答
541 浏览

php - 用户浏览 index.php 的情况如何解决

在 Zend 框架中,使用 MVC,如果用户显式浏览 http://base/url/index.php而不仅仅是http://base/url,系统认为真正的基本 url 是http://base/ url/index.php/并据此计算系统中的所有 URL。

所以,如果我有一个控制器 XXX 和动作 YYY 链接将是
http://base/url/index.php/XXX/YYY这当然是错误的。

我目前正在通过在 index.php 中添加一行来解决这个问题:

我想知道 ZF 是否有内置的方法来解决这个问题。

0 投票
2 回答
190 浏览

zend-framework - Zend Framework:设置默认响应部分

我不是 100% 确定如何表达这个问题,所以如果可以的话,请帮助我。

我有一个可以安装模块的系统。我检查每个模块是否有一个 MenuController,如果有,我将一个动作压入堆栈。如果我不使用 $this->render('index.phtml', 'menu'); ,问题就变成了每个 MenuController 中的问题。然后输出进入体内。有什么方法可以指定菜单控制器的输出默认进入“菜单”部分?

0 投票
1 回答
193 浏览

zend-framework - Zend 应用程序的设计建议

寻找一些建议\改进我的应用程序的结构

用户登录并看到一条欢迎消息和一个选项菜单,每个选项都指向同一个控制器,例如 OptionController,但具有不同的操作

/选项/abc
/选项/定义

我有不同动作的原因是因为每个选项都需要不同的形式

当呈现表单并且用户输入输入时,请求将再次提交给验证控制器,每个选项都有不同的操作。我需要基本的表单验证 + 自定义业务逻辑

我让它“工作”,但不认为这是一个好方法。想法?

0 投票
3 回答
1157 浏览

php - 布局被渲染两次

我的布局显示两次似乎有问题。我想知道这是否是由我的前端控制器插件(见下文)中的某些东西引起的,该插件仅将 Zend Layout 用于特定模块而不是在主应用程序中。任何答案将不胜感激。谢谢

{

}

0 投票
2 回答
1159 浏览

zend-framework-mvc - Zend FlashMessenger 问题

我是 Zend 框架的新手,我有一个问题。我创建了一个控制器抽象类,它实现了以下功能:

因此,对于每个控制器,我都可以使用 $this->AddError($error); 然后我在布局中呈现 $error 。所以我不想在每个控制器中处理 flashMesenger。

但是我必须在执行每个操作时执行 activateErrors 。

例如

我有一个控制器测试

类 TestController 扩展 MyController {

}

有没有一种方法可以在操作结束时在每个控制器的每个操作中执行此 activateErrors 而无需复制代码。

我的意思是我不想在每个操作中都包含此代码。也许有一种方法可以将它包含在我的抽象类 MyController 中。

有人有什么想法吗?

谢谢

0 投票
3 回答
344 浏览

php - MVC 模型在哪里放置数据特定检查

我正在用 Zendframework 编写我的第一个应用程序。我的问题是关于模型-视图-控制器 (MVC) 架构模式。

我目前有一个参考数据库表的模型。这是我目前拥有的课程:

现在,我在网上看到很多例子,但都是简单的插入/更新/删除的例子。在我的情况下,我必须检查一个人是否存在,如果不存在,我必须插入它并检索 ID(我知道保存返回 ID,但这不完全是我必须做的,这是和例子)。

这很简单,但我想知道在哪里放置所有其他特定情况的数据库逻辑。其他一些情况可能涉及跨其他表的检查或......无论如何!

我是否应该在我的 Model_XXXXMapper 中添加所有特定功能,其中包含我想要执行的当前验证/过程非常具体的内容?就像一个函数 getIdOfThePersonByNameOrInsertIfNotExists() (当然是示例名称!!!)

或者它是否应该驻留在控制器中,对我的模型进行一些不太具体的访问将得到验证?

换句话说,我应该把所有数据细节功能或检查放在哪里?