2017-03-14 52 views
0

我有兩個Web應用程序在不同的酒莊工作,第一個是這樣的需要有關Laravel阿比

domaine1.com 

一個Laravel Web應用程序,並且也內置有laravel另一個Web應用程序

domaine2.com 

和我有第一個應用程序這樣的儀表板(domaine1.com/dashboard), 我想從這個儀表板添加例如一本書到web應用程序2,這是它有它自己的數據庫和表...... 請有人能告訴我,我該怎麼辦? 我是laravel的新手,我想我應該使用類似API的東西?或者是其他東西 ?

回答

0

在你的應用2 routes.php文件創建路線,以獲得書籍 例如

Route::get('domaine2.com/books', '[email protected]'); 

在你BookController的:

public function getBooks() 
    { 
     $books = Books::all(); //I assume that Books is your model 
     return $books 
    } 

現在,所有你需要做的就是把這種在在您的控制器上使用domaine1.com應用程序的功能來獲取您的圖書

$books = file_get_contents('http://domaine2.com/books'); 

要先嚐試一下,並確保它能正常工作,請嘗試訪問http://domaine2.com/books以查看您的書是否帶有json。

+0

感謝您的回覆,但在這種情況下,任何人都可以從我的網站獲取內容,我不想那樣,我只需要domain1來獲取數據 –

+0

您可以使用laravel-cors。試試這個:http://en.vedovelli.com.br/2015/web-development/Laravel-5-1-enable-CORS/記住這是你在哪裏你的網址' - >標題('訪問控制 - 允許-Origin','domain1')' – Onix

0

是的。你應該使用API​​。雖然它不會那麼容易,因爲你想創建跨域請求。

如果你想傳遞的數據沒有被分類,你可以創建一個公共API處理程序,這意味着每個人都可以訪問它。這可以是例如從數據庫返回一些對象的獲取請求。比方說,你在你的domain1.com創建路線:

GET domain1.com/api/books,如果用戶訪問了http://domain1.com/api/books他會看到這種反應在JSON格式返回json/data

然後。您可以使用CURL在您的domain2.com應用程序中使用它,或者使用axios在vue.js中構建它。

如果您想要提供的數據被分類,或者您想發出GET以外的請求(例如POST),您將需要閱讀應用程序授權。簡單地說:您必須出示您的domain1.com應用程序,才能允許有人想訪問受限制的數據。

順便說一下,提及其他迴應:您應該在路線中使用api.php,而不是web.php。請記住,file_get_contents明顯比CURL慢。

+0

感謝您的回覆,我明白我應該使用API​​,但我不希望evryone訪問此API,因爲它有一個敏感信息,我想只有domain1是可以訪問數據? –