MVC 将操作放入最合适的正确控制器中

2023-12-26

我只是想知道在某些情况下决定在哪里创建操作/视图的最佳实践方法是什么。

If User有很多Video

创建操作/视图以显示用户视频的最佳位置在哪里?

那么,在用户帐户页面的“我的视频”链接中,您是否

  1. 只需创建一个用户/我的视频行动和看法。
  2. create 视频/my_videos行动和看法。
  3. 或者很可能您已经有一个控制器/操作视频/索引它将具有搜索功能。只需使用此传递用户 ID 即可。

非常感谢任何想法/建议

Thanks

Leo


一种可能的选择是执行以下操作:

由于视频周围可能有更多的代码,而不是简单的“哪个用户有哪些视频”查找,因此视频列表操作应该在 VideosController 中。

在过去的项目中,我(在 CakePHP 1.3 中)使用前缀路由来解决其中的一些问题。

在 config/core.php 中,确保启用routing.prefixes 以包含“用户”前缀。

<?php
    ... in routes.php ...
    Routing.prefixes = array( 'user' );
?>

在视频控制器中使用以下签名执行操作:

<?php
    ...
    public function user_index( $userID = null ){
        ...
    }
?>

在链接到用户视频列表的视图中,html::link 调用应类似于以下内容:

<?php
    ...
    echo $this->Html->link( 'User\'s Videos', array(
        'controller' => 'videos',
        'action' => 'index',
        'prefix' => 'user',
        $this->Session->read( 'Auth.User.id' )
    ));
?>

当然,这假设您在此处使用 Auth 组件来跟踪登录的用户。用于读取经过身份验证的用户 ID 的会话帮助程序代码可能需要调整。

这可以让你a)除了启用前缀路由之外不用太担心路由,b)很快就能让你拥有像这样的漂亮链接——site.com/user/videos/index/419

将其与一些 Slug 的爱结合起来(这是我见过的最好的链接 - 数据库层不需要 slug 字段 -http://42pixels.com/blog/slugs-ugly-bugs-pretty-urls http://42pixels.com/blog/slugs-ugly-bugs-pretty-urls )

你甚至可以很容易地得到这样的网址:site.com/user/videos/index/eben-roux

只需对 app/config/routes.php 进行一点点编辑,您就可以消除 /index/ 部分,结果将是 SEO 友好且用户友好的格式:site.com/user/videos/eben-roux

http://book.cakephp.org/view/945/Routes-Configuration http://book.cakephp.org/view/945/Routes-Configuration

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC 将操作放入最合适的正确控制器中 的相关文章

  • CakePHP GROUP 和 COUNT 个项目在列表中返回

    我知道这里有一些类似的问题 但它们都是关于使用时的 Model gt find all 但这不是我正在做的 我正在做的 Model gt find list 这就是工作与不工作之间的区别 给定一组产品 我想找到该组中的所有品牌以及每个品牌的
  • Cakephp:将 AppController 抽象到另一个层次,可能吗?

    我想知道是否可以在 AppController 和我的应用程序的其他控制器之间添加另一个抽象控制器 这样我的控制器 例如UsersController 扩展了 SecureController SecureController 扩展了 Ap
  • ASP.NET MVC C#:将多个表/查询中的数据引入视图中

    好吧 我仍在掌握 ASP NET 和 MVC 框架的窍门 并将我的知识从经典的 ASP 和 VB 转换过来 所以请保持温柔 我的第一个视图 home details X 运行良好感谢之前的帮助为我指明了正确的方向 https stackov
  • 将动态库 (.dylib) 复制到框架 (.framework)

    我有两个 XCode 项目 一个框架和一个客户端应用程序 我的应用程序依赖于我的框架 一切都运行良好 每次应用程序都会重新编译框架 项目构建路径设置正确 完全没问题 现在框架开始使用第 3 方 dylib 文件 并且它与 dylib 链接
  • 生成 xcframework 库时 xcodebuild 错误“不支持具有多个平台的二进制文件”

    我正在尝试从 MyFramework framework 文件生成 xcframework 文件 我正在运行以下命令 xcodebuild create xcframework framework MyFramework framework
  • 如何在 Rails 4 中“link_to”完整路径?

    这是我的代码 a a 从上面
  • 如何使用 wamp 在 Windows 上烘焙 cakephp 2.0 应用程序

    我想在Windows系统上烤蛋糕php项目 我正在使用 wamp 服务器来运行 PHP mysql 我已经浏览过 cakephp 网站上的视频投射 并设置了环境设置 按照演示给出命令 蛋糕 后 最后我收到一条消息说 php 不被识别为内部或
  • 内部框架与新的 C# 技术

    如果我们开发了自己的 ORM 框架 并且该框架多年来运行良好 那么我们为什么要学习和使用全新的 net 技术 例如LINQ or Entity Framework or NHibernate or CSLA NET对于我们即将进行的软件项目
  • 就MVC模式而言,Struts 2中使用的Action是什么?

    在Struts2中 控制器将请求分派给Action Action将其传递给后端逻辑 这可以看作是一个非常大的过程 model 处理请求 JSP代表视图 Struts2中如何定义Action 肯定是not一个看法 是控制器还是模型 Strut
  • CSS 不适用于 CakePHP 应用程序

    我在使用 CakePHP 时遇到问题 找不到 CSS 当我在浏览器中查看源代码时 我可以在头部看到蛋糕通用 CSS 链接 但是当我点击它查看实际的源代码时 我收到了 404 未找到错误 Update 我已按照此处的说明进行操作 http b
  • 在 mvc 中对远程验证的成功响应执行一些操作

    我正在使用远程验证来检查我的 asp net mvc 3 应用程序 C 注册期间用户名的可用性 我使用 MVC 远程属性验证 Remote IsUserNameAvailable User public string UserName ge
  • 如何安装 Miles J 的 cakephp 论坛插件?

    我很确定这是一个蛋糕 1 3 问题 该插件与 2 0 不兼容 我正在尝试为论坛安装 cakephp 的 Miles J 插件 可以在这里找到 http milesj me code cakephp forum http milesj me
  • Model在MVC中的作用是什么?

    我读过一些有关 MVC 的文章 但有一点我不清楚 该模型在实际中的作用是什么 模型是否代表业务对象 或者它只是一个帮助将信息从控制器发送到视图的类 以两个业务类为例 从数据库填充数据 Class Image Property FileNam
  • 字母数字验证在 jquery 中不起作用

    我的代码如下 包含所有必需的js文件 当我提交表单而不为 UserDetailAliasName 提供任何值时 表单不会提交并显示验证错误消息 此字段是必需的 但是如果我提交像 等值 表单会提交数据 我使用此表单从数据库搜索用户名 docu
  • MVC和依赖注入,被迫使用单例Controller?

    我正在致力于构建一个根据 MVC 原则运行并利用依赖注入的 PHP 框架 我想我已经把前端控制器部分放下了 有一个工作路由器实例化控制器实例并根据请求的 URI 调用适当的操作 接下来是依赖注入 我想实现一个使用反射解决依赖关系的容器 这样
  • CakePHP - 选择性 SSL

    如何对网站的某些部分强制使用 HTTPS 例如登录页面或注册页面 并使用 HTTP 来完成网站的其余部分 我最喜欢的强制转换为 https 的方法是将其作为 php 脚本中的第一件事 它可以在 Joomla 中运行 也可以在 CakePHP
  • 无法在 VB MVC 应用程序中创建 HtmlHelper 方法

    我无法弄清楚以下代码中缺少什么 我有一个应该添加 虚拟 辅助扩展的方法 Imports System Runtime CompilerServices Namespace HtmlHelpers Public Module HelpExte
  • 多重要求和允许强参数rails 4

    在下面的情况下 我尝试使用强参数 我想要求email address password并允许remember me fields 但像下面这样使用它只允许最后一行在方法示例中 在下面的情况下 它只需要params permit rememb
  • 所需框架与静态库

    构建现代框架 https developer apple com videos play wwdc2014 416 says 每个应用程序都有自己的自定义框架副本 https stackoverflow com a 15262463 242
  • 如何在 Zend MVC 中实现 SSL

    我之前已经通过使用特定的安全文件夹 例如服务器上的 https 文件夹与 http 文件夹 实现了安全页面 我已经开始使用 Zend Framework 并希望应用程序的某些部分 例如登录 使用 https 我在谷歌上搜索过 甚至在这里搜索

随机推荐

  • USPS 地址验证 API 授权失败

    只是我有一个注册USPS https www usps com business web tools apis welcome htm它提供了US Address Validation API 我正在使用以下代码来获取XML Respons
  • 使用预处理器取消 std::cout 代码行

    可以删除所有呼叫printf using define printf 如果我有很多调试打印 例如std cout lt lt x lt lt endl 怎样才能快速关机cout lt lt 使用预处理器在单个文件中声明 正如 unwind
  • iPhone如何在旋转设备时正确调整视图大小

    我一直在尝试调整视图控制器内的视图大小 但到目前为止没有运气 基本上 我的视图最底部有一个按钮 当方向从纵向更改为横向时 该按钮不再可见 因为它现在太靠下了 如何调整此视图的大小 以便当方向更改时按钮仍然可见 我尝试过设置 self vie
  • Rails3 - check_box_tag - 如何禁用条件

    给定以下 Rails 3 check box tag 如何使禁用设置以 setting archived 为条件 有任何想法吗 Thanks 你几乎已经得到了有用的东西 尝试 记得 test a b 是一个计算结果为a if test是真的
  • 如何使用 R-base 在堆积条形图中标记百分比值[重复]

    这个问题在这里已经有答案了 我是 R 新手 我希望其他人向我解释如何使用基本 R 绘图函数 R 基础 以一致的方式在各个堆叠条形内添加绝对值 我尝试使用 R 基础绘制堆积条形图 但值以不一致 不合逻辑的方式出现 每个村庄的值应该是 100
  • StAX - 将 Base64 字符串从 xml 读取到数据库中

    我正在使用 StAX 读取我的文件 其中包含一些 Base64 数据 并使用 Hibernate 将其保存到数据库中 XML
  • Bootstrap 可切换选项卡,无需选项卡链接

    有没有办法执行以下操作 ul class nav nav tabs li class active a href home Home a li li a href profile Profile a li li a href message
  • R 包小插图:没有小插图索引警告

    我有一个新的 R 包 名为stationery它包括有关如何使用 LaTeX 和 Markdown 文档以及自定义模板的信息 当我在 Ubuntu Linux 中构建软件包时 后续检查基本上是成功的 但我对下面看到的小插图索引警告感到困惑
  • 使用与 package.json 不同配置的 npm

    我有一个由 package json 驱动的复杂生产环境 问题 我希望在本地安装一些附加软件包 请密切关注它们的列表和版本 解决方案 如何到达那里 point npm使用另一个配置文件 从 git 中排除 这将保留我的私人依赖项 使用该文件
  • 如何改变搜索栏的高度?迅速

    我有这个 http postimg cc image oepn8hhzd http postimg cc image oepn8hhzd 我需要这个 http postimg cc image 4bacislw5 http postimg
  • 是否可以将ng-view设置为replace: true?

    我正在将 Angular 集成到 Web 应用程序中 我注意到包装器弄乱了页面上的一些 CSS 研究指令后 我发现自定义指令可以将一个名为 replace 的属性设置为 true 以便 templateUrl 直接替换而不是包装在指令的标签
  • jshell中的C选项有什么用

    我已经经历了jshell指南简介 https docs oracle com javase 9 jshell introduction jshell htm JSHEL GUID 630F27C8 1195 4989 9F6B 2C51D4
  • 是否可以在elasticsearch中注册文档生命周期?

    我想创建一个函数 在elasticsearch中创建令牌文档 并为它们提供令牌生命周期 就像在redis中一样 并随着时间的推移自动删除它们 Elasticsearch 支持该功能吗 在 ES 2 0 很久以前 中 曾经有一个 ttl元数据
  • 如何本地化 iPhone 应用程序的号码?

    在我的 iPhone 应用程序中 我需要显示对象计数 然后进行本地化 因为英语区分单数和复数 我执行以下操作 伪代码 if objectList count 1 NSLog NSLocalizedString 1 object displa
  • 尝试理解nodejs文档。如何发现回调参数

    当我读到这篇文章时Node js API 文档 https nodejs org dist latest v6 x docs api fs html fs fs writefile file data options callback 它向
  • 局部变量还是类字段?

    我今天读了一篇关于绩效改进的帖子 http ashwini47 tts blogspot fr 2012 05 top 20 programming tips for performance html在 C 和 Java 中 我仍然坚持这一
  • 带参数的 Postgresql 触发器函数

    我想在名为的表上创建一个触发器takes在 postgresql 中更新另一个表中的值student我正在尝试按以下方式进行操作 但我收到一个错误 指出 OLD 附近存在语法错误 我不明白这有什么问题 这是我的代码 CREATE OR RE
  • 如何正确hook WM_COMMAND

    我正在尝试在 mfc 窗口中挂钩按钮单击 我使用了 WM COMMAND 和 WM NOTIFY 为了测试 如果单击按钮 挂钩必须创建一个消息框 问题是它对按钮点击没有反应 以下是响应 WM COMMAND 和 WM NOTIFY 的代码
  • 典型相关分析

    我刚刚开始在 Matlab 中使用 CCA 我有两个向量X and Y维度的60x1920 and 60x1536样本数为60和不同向量集中的变量是1920 and 1536分别 我想知道如何进行 CCA 将它们减少到子空间 然后进行特征匹
  • MVC 将操作放入最合适的正确控制器中

    我只是想知道在某些情况下决定在哪里创建操作 视图的最佳实践方法是什么 If User有很多Video 创建操作 视图以显示用户视频的最佳位置在哪里 那么 在用户帐户页面的 我的视频 链接中 您是否 只需创建一个用户 我的视频行动和看法 cr