Можно ли связать приложение PHP и приложение laravel? - PullRequest
0 голосов
/ 14 июня 2019

У меня есть приложение php и приложение laravel, расположенные на разных серверах. Мне нужно отправить данные из приложения php в приложение laravel. Можно ли связать эти 2 приложения и отправить данные?

Я попытался отправить данные с помощью curl в приложении PHP:

$url ='ip/project/public/index.php/admin/update-item-status';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$item);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response  = curl_exec($ch);
curl_close($ch);

В приложении Laravel:

В файле web.php:

Route::match(['get','post'], 'admin/update-item-status', 'ItemsController@updateItemStatus');

В ItemsController.php:

public function updateItemStatus(Request $request){ 

        $data = $request->all();

        Item::where('description',$data['item'])->update('req_flag','1');
    }

1 Ответ

2 голосов
/ 14 июня 2019

Да, вы можете публиковать данные, используя curl или GuzzelHttp Вот шаги, которые вы можете выполнить.

Предположим, ваше приложение размещено, как показано ниже:

Laravel: http://xyz.domain

Теперь в приложении Laravel:

  1. Создать маршрут post в routes/api.php:
Route::post('receive_data', 'CommunicationController@receive');
  1. Определить действие receive в CommunicationController, как показано ниже:
public function receive(Request $request)
{

    dd($request); // just to debug data.

    // do whatever you want.
}

В приложении PHP:

  1. Создайте запрос curl для публикации данных.
$url ='ip/project/api/admin/update-item-status';

$payload = json_encode( array( "item"=> $data ) );

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$payload);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response  = curl_exec($ch);
curl_close($ch);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...