单一责任制原则与WP分类

时间:2014-02-18 作者:Nathaniel Schweinberg

我仍在通过OOP和坚实的原则工作。我很难四处走动new SomeClass(); 调用,或将其添加到动作挂钩(add_action( \'init\', array( \'SomeClass\', \'get_instance\' ) ). 举个例子:我有一个posts控制器,用来处理与posts有关的任何事情:创建、删除、通过ajax修改其状态等等。我认为SRP会为post创建/修改、ajax请求等调用不同的类。除了new/add\\u操作之外,还有更好的方法来实例化这些类吗?我觉得将会有过多的类和类实例化,到目前为止,有人已经想出了一些办法。我疯了吗?

1 个回复
SO网友:djb

WordPress本身并不是非常面向对象的,它有对象(例如WP\\u User),但与核心API的大多数交互都是通过简单的函数调用进行的。它还广泛依赖于全局状态,尽管它通过抽象操作和过滤器很好地管理了全局状态。

根据我的经验,在坚持普通的WP函数调用和构建类之间有一个最佳点。朝着面向对象的方向走得太远,最终会重新实现已经非常方便的东西。如果要为后期创建实例化一个新类,几乎可以肯定这就是您要走的路。

但是如果你真的在做其他事情,比如API接口、复杂的账户系统、支付等等,那么你与WP的联系点将是最小的,你可以在你所处理的问题领域内尽可能地稳固。

结束

相关推荐

Pagination on Custom Loop

我想将最新帖子的样式与自定义页面上某个类别中的所有其他帖子的样式不同。到目前为止,我有下面的代码,它正是这样做的:<?php if (have_posts()) : ?> <?php query_posts(\"cat=4&showposts=1\"); ?> <?php while (have_posts()) : the_post(); ?> (Style1)<?php the_title(); ?><