查看 CakePHP 中的重用

发布于 2024-11-04 06:34:05 字数 394 浏览 0 评论 0原文

我有一个创建侧边栏的控制器。侧边栏中间是一小部分患者数据,需要不时通过ajax刷新。因此,我为该特定区域创建了一个元素和一个函数。当我渲染整个侧边栏时,我使用 requestAction 来获取元素的患者数据。但是,当我执行 ajax 请求时,我直接调用患者数据函数并返回它的视图。然后,Ajax 将视图中的数据加载到 div 中。

我的不满是我现在在两个地方有完全相同的视图代码。一次在视图中,一次在元素中。理想情况下,我确信我应该同时使用该元素。我想我可以创建另一个函数供 ajax 请求调用,它只需执行 requestAction 即可获取元素数据。但是,这似乎是一个不必要的额外层。

在 Xaraya 中,我可以通过简单地使用侧边栏视图中的患者数据视图来避免这一切。

我应该如何处理这个问题才能最有效地重用相同的代码?

I have a controller that creates a sidebar. In the middle of the sidebar is a small section of patient data that needs to be refreshed via ajax from time to time. So, I created an element and a function for that specific area. I use a requestAction to get the patient data for the element when I'm rendering the entire sidebar. But, when I'm doing an ajax request, I call the patient data function directly and return it's view. Ajax then loads the div with the data from the view.

My dissatisfaction is that I now have the same exact view code in two places. Once In the view and once in the element. Ideally, I'm sure that I should be using the element for both. I guess I could create another function for the ajax request to call, that would simply do a requestAction to get the element data. But, that seems like an unnecessary extra layer.

In Xaraya, I would have avoided this all by simply using the patient data view within the sidebar view.

How should I be handling this to most efficiently re-use the same code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

も让我眼熟你 2024-11-11 06:34:06

您确实会被重复的代码所困扰。将所有内容移至元素。从您需要的所有位置调用该元素。将其配置为在两种情况下都可以工作。所以基本上,替换视图实例来调用元素。你是对的。

看来你的挂断是“不必要的额外层”。然而,如果它保持代码干净(通过删除重复的代码),它真的是一个不必要的额外层吗?我会说不。它使其可以在多个位置重复使用,因此非常有必要。

听起来你应该相信自己的直觉。 ;)

编码愉快!

You are right be be bothered by duplicate code. Move everything to the element. Call the element from ALL locations where you need it. Configure it to work in both circumstances. So basically, replace the view instance to call the element as well. You are right about that.

It appears your hangup is the "unnecessary extra layer." However, if it keeps the code clean (by removing duplicate code) is it really an unnecessary extra layer? I would say no. It make it reusable in multiple locations, therefore very much necessary.

Sounds like you should trust your instincts. ;)

Happy coding!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文