我如何将一些用Ruby编写的功能混合到WordPress站点中?



事情是这样的。我喜欢Ruby,过去几年我一直在使用它。我喜欢语言和社区的一切。

但是我有一个很快就会变大的WordPress网站,在那里我必须实现很多额外的功能。问题是,除了简单的主题设计之外,我真的很讨厌定制WordPress。

我需要做的事情的例子:

  • 在个人资料中添加一些额外的信息,如业力/积分/声誉系统
  • 允许用户创建自己的页面
  • 从一些外部API提取数据并显示在用户的配置文件

我已经习惯了整个敏捷的BDD工作流程,我从Cucumber的特性到RSpec再到实现这些东西,整个WordPress架构在我看来就像好吧,我只需要祈祷这行得通

我不确定尝试用Ruby编写应用程序的某些部分并尝试使其与WordPress一起工作是否明智,或者我是否应该将WordPress作为我唯一拥有的东西并充分利用它的优点和缺点。

对我来说,主要的问题是,我要用PHP写的所有东西都要比用Ruby写的长5倍,而且它可能也更安全、更健壮,因为我没有那么多复杂的PHP东西的经验。我的意思是,我过去做过很多PHP,但我总觉得整个东西会在某个时候崩溃。

我知道如何处理这个问题可能没有明确的答案,但欢迎提出任何建议。

我们已经将Rails应用程序集成到TYPO3安装中。结果很好。关键的一点是使用Rails的支持,使模型适应遗留应用程序的表。重要的一点是处理身份验证,我们通过以隐藏的方式将TYPO3会话密钥传递给Rails应用程序(使用PHP作为web客户端并传递适当的标头)并在会话表中查找它(考虑会话超时)来处理。Rails应用程序本身使用passenger映射到一个子目录。性能非常好,与我们之前尝试使用Extbase的实现相比,它甚至令人惊叹。

所以,总结一下:如果你做得对,两个应用程序之间的接口规划得很好,这种方法可以提供巨大的好处和两个世界的最佳选择。如果做得不好,或者你不了解Wordpress的一些含义(比如安全),你会创造一个大混乱,容易出现安全漏洞。

顺便说一句:在使用Rails 4天后,我们达到了与Extbase (TYPO3中的MVC框架)解决方案相同的功能。Extbase解决方案花了6周的时间,引起了很多头痛和麻烦。所以你的时间因子可能比5:1还要好。

为什么不学习如何在PHP中为WordPress进行行为驱动开发?事实上,这是2017年开发者的一大机遇。我们现在已经在WP-Codeception中实现了完全成熟的BDD框架,这样你甚至可以自动化Gherkin特性文件,就像在Cucumber中一样。查看WordPress-BDD.com获取一些有用的信息

最新更新