框架(CakePHP、CodeIgniter等)可能比Wordpress更有益的一个方面是它们表示数据之间关系的方式。大多数框架将使您能够轻松定义许多独立的“数据类型”,重要的是,还可以定义这些数据类型如何相互连接。要想在Wordpress中工作,你必须花更多的时间。
例如,如果构建发票系统,您可能会有以下思考过程:
该系统将包含“用户”,每个用户可以创建和管理“项目”-每个项目可以有多个“发票”。每个项目还附加到一个“客户”。除了管理项目,用户还可以附加到单个客户端。
这里,User、Project、Invoice、Client都是数据类型(在框架中,您可以称它们为模型),在这个简单的示例中,您可以看到它们之间可能形成的连接。
Wordpress可能难以表示更复杂的连接,而一个框架将为您提供从一开始就实现这一点的灵活性。
也许你可以把框架想象成一幅“空白画布”,而Wordpress更像是“数字绘画”(绝不意味着放弃它的能力,只是你可以从这个类比中看到它将如何指导你,作为一个开发人员)
您可以将Wordpress视为一个功能丰富的平台,您可以在其上分层实现更简单的功能。您可以使用自定义的帖子类型,然后使用已安装的插件—例如,您可以创建“发票”帖子类型,然后安装用户权限插件,以根据特定规则限制对发票的访问。
同样,您可以将框架视为功能不太丰富的平台,但具有更大的扩展和定制潜力。因此,您可以在框架内创建数据类型“Invoice”和“User”,定义“User”有许多“Invoice”,并在系统中构建自己的规则。这样,您就不会在尝试使用现有插件实现所需功能时遇到问题,也不会花费大量时间尝试自己实现它们。
Wordpress很可能会提供您所需的结果,但会让您处于一个限制性更强(但功能非常丰富)的环境中,您可能会发现自己偶尔会遇到开发瓶颈。框架可以让您实现更强大的功能,但需要更多的努力和知识才能将其付诸实施。
(你在回复中链接到的视频中的一条评论很好地概括了这一点-Wordpress将提供“基本功能”,但级别更高。例如,缓存可以通过插件实现,但如果你对代码和框架的构造有更深入的了解,也可以在框架中实现)
我倾向于将Wordpress用于较小的客户机项目,这些项目对数据之间的互连没有太多要求。(例如,对于一个公文包网站,你可能有“公文包项目”和“客户”,它们之间没有非常复杂的事情)另一方面,如果一个项目需要超过3或4种不同类型的数据,我会选择一个框架。