使用WordPress作为框架

时间:2011-12-09 作者:urok93

我对WordPress非常熟悉,但对Codeigniter之类的PHP框架只有很少的经验。在构建自定义应用程序时,例如我公司的发票系统或时间管理应用程序,使用WordPress作为框架是否有意义,或者使用Codeigniter之类的东西是否更可取?这两种方法的主要区别是什么?

2 个回复
最合适的回答,由SO网友:onetrickpony 整理而成

大多数框架都是专门为方便处理大量应用程序而设计的,而WordPress在使用其API创建您提到的应用程序时受到很大限制。如果您想将WordPress作为PHP框架与现有流行框架进行比较,请将其视为最糟糕的选项之一。

并不是说你不能在WordPress中实现某些功能,只是你可以通过编写比Yii、Cakephp、codeigniter等更多和更少的可维护代码来实现。

我的建议是使用你觉得更舒服的东西。如果你愿意花时间学习使用Codeigniter,可以使用Codeigniter,但如果没有时间,你可能应该坚持使用WordPress。

SO网友:solarise

框架(CakePHP、CodeIgniter等)可能比Wordpress更有益的一个方面是它们表示数据之间关系的方式。大多数框架将使您能够轻松定义许多独立的“数据类型”,重要的是,还可以定义这些数据类型如何相互连接。要想在Wordpress中工作,你必须花更多的时间。

例如,如果构建发票系统,您可能会有以下思考过程:

该系统将包含“用户”,每个用户可以创建和管理“项目”-每个项目可以有多个“发票”。每个项目还附加到一个“客户”。除了管理项目,用户还可以附加到单个客户端。

这里,User、Project、Invoice、Client都是数据类型(在框架中,您可以称它们为模型),在这个简单的示例中,您可以看到它们之间可能形成的连接。

Wordpress可能难以表示更复杂的连接,而一个框架将为您提供从一开始就实现这一点的灵活性。

也许你可以把框架想象成一幅“空白画布”,而Wordpress更像是“数字绘画”(绝不意味着放弃它的能力,只是你可以从这个类比中看到它将如何指导你,作为一个开发人员)

您可以将Wordpress视为一个功能丰富的平台,您可以在其上分层实现更简单的功能。您可以使用自定义的帖子类型,然后使用已安装的插件—例如,您可以创建“发票”帖子类型,然后安装用户权限插件,以根据特定规则限制对发票的访问。

同样,您可以将框架视为功能不太丰富的平台,但具有更大的扩展和定制潜力。因此,您可以在框架内创建数据类型“Invoice”和“User”,定义“User”有许多“Invoice”,并在系统中构建自己的规则。这样,您就不会在尝试使用现有插件实现所需功能时遇到问题,也不会花费大量时间尝试自己实现它们。

Wordpress很可能会提供您所需的结果,但会让您处于一个限制性更强(但功能非常丰富)的环境中,您可能会发现自己偶尔会遇到开发瓶颈。框架可以让您实现更强大的功能,但需要更多的努力和知识才能将其付诸实施。

(你在回复中链接到的视频中的一条评论很好地概括了这一点-Wordpress将提供“基本功能”,但级别更高。例如,缓存可以通过插件实现,但如果你对代码和框架的构造有更深入的了解,也可以在框架中实现)

我倾向于将Wordpress用于较小的客户机项目,这些项目对数据之间的互连没有太多要求。(例如,对于一个公文包网站,你可能有“公文包项目”和“客户”,它们之间没有非常复杂的事情)另一方面,如果一个项目需要超过3或4种不同类型的数据,我会选择一个框架。

结束

相关推荐

Paypal Framework

我正在尝试建立一个基于paypal订阅的网站,如果人们通过paypal支付订阅费,就可以在那里注册。我对Paypal IPN系统很陌生,但我发现这个插件似乎可以满足我的需要:http://wordpress.org/extend/plugins/paypal-framework/有人知道我需要通过hashCall() 函数为尝试注册的用户设置paypal订阅?我想这不是doDirectPayment 不需要所有CC参数,对吗?