我知道这是一个非常奇怪的问题,但我希望有人可以告诉我如何在两个不同的服务器之间拆分我的Codeigniter应用程序?
我现在想到的解决方案是
Web服务器 - 该模型不会被使用。将使用视图和控制器。控制器将向应用程序服务器发出REST请求,该请求将向其返回json数据并将推送到视图
Application Server - View不会被使用。 Controller是业务逻辑所在的位置,并将与模型进行通信。
我的想法是否正确?
还有另一种使用PHP FPM的方法,但我不确定它是如何工作的。
答案 0 :(得分:1)
请通过以下解决方案。
在这种情况下,您需要创建REST服务器,其中将发生与数据库相关的所有活动。您可以通过下面提到的链接在codeigniter中实现REST服务器。
https://github.com/chriskacerguis/codeigniter-restserver
在休息服务器中,您的控制器将使用方法处理特定的http操作。例如GET
,POST
,PUT
,UPDATE
class Books extends REST_Controller
{
public function index_get()
{
// Display all books
}
public function index_post()
{
// Create a new book
}
}
现在在您的视图部分中,您需要实现rest客户端。因此,您可以根据要求提出CRUD操作请求。
https://github.com/philsturgeon/codeigniter-restclient
虽然休息客户的美丽在下面。
// Load the library
$this->load->library('rest');
// Run some setup
$this->rest->initialize($config);
// Pull in an array of tweets
$tweets = $this->rest->get('statuses/user_timeline/'.$username.'.xml');
您可以获得多种格式的回复。例如Json
,CSV
,XML
等。
我已经使用了这两个,它的工作非常棒。
如果您在实施过程中需要任何帮助,请告诉我。