是否有任何技术可以在WordPress中分离代码和标记?

时间:2011-06-08 14:10:26

标签: php python model-view-controller wordpress

我通常使用Python来创建Web应用程序,并喜欢我可以单独使用代码和表示层。我真的很喜欢和Jinja2合作。但是,我有时必须为我的客户使用WordPress。因此,我想知道,如果有任何方法可以让WordPress的开发工作更轻松,那就是它的header.php,index.php和footer.php以及所有其他可以很好地连接在一起的部分。有什么建议可以让它更方便吗?

4 个答案:

答案 0 :(得分:3)

与Denis同意,Wordpress只是意大利面条,你无能为力。尽管如此,如果您正在为Wordpress编写自己的代码(我们为客户制作主题和插件),那么没有什么可以阻止您将问题分解到不同的文件中,我们发现维护这种方式要容易得多。你仍然需要处理Wordpress期望vanilla PHP文件的情况,但至少我们的代码看起来不错;)

答案 1 :(得分:1)

可悲的是没有。最好的我知道,没有任何immediate plans采用更像MVC的架构。

有些人试图将Smarty添加到顶部等等,但这样做主要是在现有膨胀之上增加膨胀。 (WP模板引擎通常由多个函数调用组成,这些函数调用相互调用,每个函数调用都有自己的一组插件过滤器和全局变量。)

答案 2 :(得分:1)

Denis和Berry的答案很明显,但值得注意的是,有一些插件允许WordPress中的MVC设计模式。在我完全偏见的观点中,最成熟的是WP MVC(或参见full documentation),它使用的文件结构与Rails和CakePHP中的文件结构非常相似。

其他基于MVC的插件包括Tina MVCPlugin FactoryChurro

答案 3 :(得分:0)

我发现将所有可重复使用的模板项目作为单独的php,并将表示逻辑作为主题函数/对象和业务逻辑包含在插件中,以便将问题分开,因为如果正确加载,这些对象/函数始终可用。如果您始终使用特定代码(例如面包屑),模板部件确实可以节省大量时间。 我知道它并不令人满意,但关注的分离是可能的。