Wordpress: code structure

时间:2014-03-11 作者:ptf

编辑:我已经在wordpress这里单独发布了它们。stackexchange。com/questions/137672/…这里是wordpress。stackexchange。com/questions/137673/…。我会投票删除这个。

我正在Wordpress网站上工作,我对如何构建PHP代码有一些问题。虽然我有在其他框架中构建代码的经验,但我想知道您如何在Wordpress中做到这一点。如果我能更流利地使用PHP,我可能会知道一些这方面的情况。

更具体地说:

视图和逻辑的分离我发现我的视图很容易被逻辑弄乱,例如空检查、电子邮件验证和从post对象检索值。你会如何在Wordpress中区分这一点?有什么MVC框架吗?

我了解到,在创建新的帖子类型、创建设置页面和创建新的分类法时,应该创建一个插件。所以我做到了。但我有一些功能,这些功能可以是通用的,也可以是相同的,在我的插件中。保存到数据库的函数就是一个例子。既然所有东西似乎都放在全局范围内,那么如果PHP中有这样的东西,我应该创建另一个具有共享功能的插件,还是将共享功能放在functions.php 文件

一切都是全球性的吗

谢谢您的时间,如果这是重复的问题,我很抱歉。

1 个回复
SO网友:Rarst

我发现我的视图很容易被逻辑弄得乱七八糟,例如空检查、电子邮件验证和从post对象检索值。你会如何在WordPress中区分这一点?有什么MVC框架吗?

WordPress没有强制执行明确的分离,在这方面有非常广泛的风格和观点。简单地说,您可以在代码中自行管理,也可以寻找第三方框架和/或约定加以利用。

我应该创建另一个具有共享功能的插件,还是将共享功能放在函数中。php文件?

由于一切都在全球范围内,“事物走向何方”的问题主要是语义问题,而不是技术问题。再一次,你要么寻求意见,要么自己编造意见。

正如我上面提到的,Wordpress中的一切都是全球性的吗?我的印象是,其他插件的函数名很可能与我的函数名冲突;这就是为什么在函数前面加上主题主题名的原因。有没有办法避免这种情况?

使用PHP命名空间。如上所述,这也是一种观点,因为本机WP旨在与过时的PHP 5.2版本兼容,而不是在核心中使用名称空间。

结束

相关推荐

删除带重定向的Single-Custom.php上的链接

我需要在自定义帖子类型的单个页面上为我的用户提供删除链接。但是,当条目被删除时,用户将在此页面上出现“找不到任何内容”的wordpress错误(因为我们仍然在条目站点+/?deleted=1). 如何将用户重定向到网站上的其他页面?以下是我发布删除链接的方式:if ( !current_user_can( \'delete_bkroadkill\', $post->ID ) ) return; $onclick = \"onclic