我在网上看到一些相关信息,但没有明确的帖子比较这两种方法,所以我希望其他人可以在这里提供意见 :)
我之前没有用过这个,但kerkness已经为它编写了一个插件:https://github.com/kerkness/kohana-for-wordpress。然而,它相当老旧,所以您可能想寻找更新的内容。
将WordPress与框架(无论是Kohana、CodeIgniter、Zend等)集成,通常会忽略第一个也是最重要的问题:在功能级别上,你想要将这两个产品集成到多大程度?
总体而言,有两种高级方法可以集成任何两个PHP产品:
1) 在PHP代码中,将两个产品的库、引导脚本等包含到一个或多个脚本中(创建一个“混合体”)。
作为开发人员,你应该能够在生成的混合体中使用大多数来自两个产品的功能。例如,在WordPress和Kohana的情况下,完整的结果将允许你使用Kohana的功能(如路由、认证等)和WordPress的功能(如获取文章内容、作者等)。
这种方法的困难在于竞争API和代码期望可能会使混合体表现出意外行为,例如:
在尝试这个过程时,我想要解决的第一个问题是路由,我是要从Kohana内部委托获取文章、附件等到WordPress,还是要在Kohana的路由器、控制器和WordPress之间构建接口?
虽然这个选项很吸引人,因为你可以访问两个产品的API,但你必须准备好对应用程序行为进行重大更改,以使两个产品能够和平共存。如果听起来需要做很多工作,那是因为确实需要做很多工作!
2) 使用Web服务器智能路由请求到不同的产品。
从你的问题中,听起来你想要网站的某些部分加载Web应用程序,这些应用程序不一定需要上述集成级别(例如,在评论应用程序或照片库中真的需要获取WordPress API吗?)。如果你只是想找到一种使用相同应用程序域名加载两个应用程序的方法,那么这个选项更适合,因为你不需要在两者之间执行太多(如果有的话)集成。
假设你正在使用像nginx或Apache Httpd这样的Web服务器,你应该能够为站点的不同部分创建不同的应用程序别名。
e.g.,
http://myblog.nonex/ - 指向 Wordpress 安装,后者管理默认站点(显示页面、博客文章等全部来自 Wordpress)。
http://myblog.nonex/apps/review - 指向评论应用程序,该应用程序是 Kohana 安装的一部分。
http://myblog.nonex/apps/gallery - 指向图库应用程序,借助适当的模块化设计,可以与评论应用程序在同一个 Kohana 安装中并存。
由于您仍处于规划和开发阶段,我建议您先选择方案 2)- 构建原型,确定评论或图库应用程序是否绝对需要使用 Wordpress 的某些功能(例如,它们是否需要使用 Wordpress 用户凭据?),然后再考虑进行最小集成,以便创建完整的混合应用。