将CakePHP应用程序与第三方API框架集成的最佳方法是什么?


What is the best way to integrate a CakePHP app with a third party API framework?

在同一台服务器上,我有一个Restler 3.0 API服务器和一个CakePHP 2.3应用程序,我希望能够使用CakePHP控制器函数从Restler应用程序。当然,我不希望CakePHP做任何渲染,只是处理数据。

我考虑只是从Restler api向CakePHP应用程序做一个https请求,但这对于Restler服务器的客户端来说似乎相当低效。我也考虑过使用RabbitMQ在应用程序之间做RPC,但PHP中的RPC似乎太复杂了,我试图保持简单。

理想情况下,在Restler中,它可能像这样:

<?php
class Content {
    function post() {
        // CakePHP stuff:
        $data = array('title'=>'fake data');
        $this->Content->create();
        if ($this->Content->save($data)) {
            return 'ok';
        }
    }
}

我完全愿意接受任何关于实现这种整合的最佳方法的好主意。

这是否可能实际上取决于您的环境的性质。

注意事项:

  1. 您的控制器是否使用其他蛋糕框架组件(控制器,模型,组件等)?如果是这样的话,你可能会感到困惑,因为蛋糕是面向惯例的。如果没有蛋糕管道来解释这些约定,它们就没有意义。

如果你只是需要重新使用一些非Cake特定的PHP逻辑,你可以将其重构为自己的PHP类,甚至只是一个带有一些函数的. PHP文件,并在Restler应用程序和Cake应用程序之间共享它们。