首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否兼容WordPress MVC?

是否兼容WordPress MVC?
EN

Stack Overflow用户
提问于 2010-05-18 20:21:24
回答 6查看 42.4K关注 0票数 63

一些人认为WordPress是一个博客平台,一些人认为它是一个内容管理系统,一些人将WordPress称为一个开发框架。无论是哪一个,问题仍然存在。是否兼容WordPress MVC?

我读过论坛,大约三年前有人问起了MVC。有一些肯定的答案,也有一些否定的答案。虽然没有人确切地知道MVC是什么,每个人都以自己的方式思考它,但在所有的讨论中仍然有一个通用的概念。

我几乎没有使用MVC框架的经验,而且似乎没有任何关于框架本身的东西。大部分MVC都是由程序员完成的,对吗?现在,回到WordPress,我们可以将核心重写引擎(WP_Rewrite)视为控制器吗?作为模型的查询和插件逻辑?和主题作为视图?还是我全搞错了?

谢谢;)

EN

回答 6

Stack Overflow用户

发布于 2012-08-14 04:19:20

为了给搜索引擎点击的人提供更新的信息,wp-mvc插件http://wordpress.org/extend/plugins/wp-mvc/对创建插件开发的mvc框架有很大的帮助。你可以在这里找到更多信息:http://wpmvc.org/documentation/70/tutorial/

票数 5
EN

Stack Overflow用户

发布于 2014-05-22 15:27:58

在与WordPress相关的讨论中,定期出现的话题之一是WordPress和MVC的概念。

但问题是,MVC并不是我们所说的web开发的灵丹妙药。是的,这是一个很棒的设计模式,我个人认为它非常适合web应用程序模型,但并不是每个框架或平台都实现了这个设计模式。

一个恰当的例子: WordPress不是MVC。

这也没关系。我认为我们需要将试图将其硬塞到我们的项目中的愿望放在一边,特别是当WordPress提供的模式不仅足够,而且在正确利用时工作良好。

“但我喜欢MVC!”

我也一样!事实上,我去年花了一年的时间做一个或多或少模仿了MVC架构的项目。MVC的高级示例。

MVC的高级示例。

例如:

代码语言:javascript
复制
Views were implemented using templates
Controllers were implemented by a combination of using function names like create, read, update, destroy, delete, and so on (even though these functions were hooked into the WordPress API
Models were functions also were called to validate and verify data prior to serializing the data. Again, this required that certain functions be hooked into WordPress to achieve the desired result.

最后,一组重写规则为应用程序提供了一组干净的可预测URL,其格式为/people/update/1或/people/all。WordPress实现了什么模式?

WordPress实现了事件驱动的体系结构(有几种变体,比如观察者模式)。

简而言之,您可以从概念上将其视为以下内容:

代码语言:javascript
复制
Things happen when WordPress is processing information.
You can register your own function to fire when these things happen.

不是很复杂,对吧?事件驱动模式的高级示例

事件驱动模式的高级示例

当你开始思考它工作的范式,而不是试图让它以你想要的方式工作时,它是一种解放。它有助于更容易地解决问题。

底线是: WordPress实现了事件驱动的设计模式,所以即使你最终尝试实现MVC,你仍然必须利用钩子系统。

如果您不小心,您可能最终会试图在没有实际完成工作的情况下创建完美的体系结构,从而最终发现自己在软件的氛围中处于如此高的位置,以至于您实际上已经成为了一名架构宇航员。所以你的意思是避免设计模式?

不用谢!设计模式是有目的的,因为最重要的是,它们基本上为我们提供了以前和通常解决的问题的解决方案。使用它们!

但我想说的是,我们不需要仅仅因为我们喜欢模式就强迫事情去适应模式。这不是他们的目的。相反,利用您选择的平台实现的主要模式-在我们的例子中,它是事件驱动的模式-然后在适合的地方实现模式(例如依赖项注入或类似的东西)。

否则,这就像是试图把脚放在手套里。

礼节(完全复制:P)来自:http://tommcfarlin.com/wordpress-and-mvc/

票数 5
EN

Stack Overflow用户

发布于 2012-08-20 09:07:21

补充一下,swpMVC是一个功能齐全的轻量级MVC框架,灵感来自于Rails、Sinatra、Express和FuelPHP。它有完整的文档,虽然我已经使用并享受了wp-mvc,但我想要一些模型能够自己填充视图的东西,包括用于与所述模型交互的表单控件。

我把这些放在一起,很大程度上是为了减少在WordPress上组合应用程序所需的控制器代码量,结果是一个在WordPress中运行的非常快速和有效的框架。这些模型是基于PHP Activerecord的,现有的WordPress数据类型包括8个模型,包括Post、PostMeta、User、UserMeta、Term等。多亏了activerecord库,数据建模非常容易,到目前为止,我非常喜欢使用这个框架。

还附带了下划线PHP和PHP Quick Profiler (如FuelPHP中所示)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2857143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档