从现有的CodeIgniter应用程序中获取Laravel服务

时间:2015-12-01 17:49:59

标签: php codeigniter laravel-5.1

我有以下问题:

我有一个使用CodeIgniter构建的现有Web应用程序,它运行良好。有一些新功能需要开发,其中一些功能与电子邮件和通知有关。我曾与Laravel合作过,也是我为新应用程序选择的框架。

所以,我在想的是......也许我可以使用Laravel设置服务,处理电子邮件队列和通知,也许设置事件,但是如何从CodeIgniter中使用服务??这就是问题所在。

另外,这是一个好方法吗?可以吗?有什么建议吗?

感谢。 =)

1 个答案:

答案 0 :(得分:0)

您可以使用Laravel应用程序创建一个简单的API来接收电子邮件,排队并发送它们。我不会亲自这样做。既然你不得不从Codeigniter进行API调用,我只会使用像https://www.mailgun.com/这样的服务(或许多其他类似服务之一)并完全跳过Laravel。

您可以使用Guzzle in CI等方式向Laravel发送POST请求。

use GuzzleHttp\Client;
use GuzzleHttp\Message\Request;
use GuzzleHttp\Message\Response;

$client = new Client();
$response = $client->post("http://api.yourlaravel.app/sendemail", [
//Change POST request info here to be your email data
    'headers' => ['X-Foo' => 'Bar'],
    'body'    => ['field_name' => 'value']
]);
var_dump($response->getStatusCode()); //verify the POST request returned ok

有很多关于使用Laravel编写API的教程,包括我强烈推荐的有关它的Laracasts系列。他们将向您展示如何在Laravel中接收此POST请求。