在這篇文章中,我們將學習如何將 Lithe 框架與 React 庫集成,重點介紹 Lithe 如何與前端庫無縫集成。除了非常適合建立 API 之外,Lithe 還可以透過高效配置 CORS(跨來源資源共享)輕鬆存取應用程式的資源,以確保您的應用程式安全有效地通訊。
首先,如果您還沒有安裝 Lithe,請安裝它。在終端機中執行以下命令:
composer create-project lithephp/lithephp project-name cd project-name
接下來,在 Lithe 專案中建立一個新的 React 專案。運行:
npx create-react-app frontend cd frontend
要在 Lithe 專案中使用 CORS 中介軟體,您需要安裝 lithemod/cors 套件。執行以下命令:
composer require lithemod/cors
安裝後,您需要在 Lithe 應用程式中設定 CORS 中間件。開啟主檔案 src/App.php 並加入以下程式碼:
如果您想要允許多個來源存取您的API,請如下設定CORS:
use Lithe\Middleware\Configuration\cors; $app = new \Lithe\App; $app->use(cors(['origins' => '*'])); $app->listen();
另一方面,如果您只想讓 React 應用程式使用 API,請使用以下配置:
$app->use(cors(['origins' => 'http://localhost:3000']));
在您的 Lithe 專案中,建立一個新路由器來向 React 提供資料。建立路由文件,如 src/routes/api.php:
use Lithe\Http\{Request, Response}; use function Lithe\Orbis\Http\Router\{get}; get('/data', function(Request $req, Response $res) { $data = [ 'message' => 'Hello from Lithe!', 'items' => [1, 2, 3, 4, 5], ]; return $res->json($data); });
定義路由檔案後,您需要將路由器新增至您的 Lithe 應用程式。再次開啟主檔案src/App.php,在呼叫listen方法之前加入以下程式碼:
// ... use function Lithe\Orbis\Http\Router\router; $apiRouter = router(__DIR__ . '/routes/api'); $app->use('/api', $apiRouter); // ...
src/App.php 檔案將如下圖所示:
use Lithe\Middleware\Configuration\cors; use function Lithe\Orbis\Http\Router\router; $app = new \Lithe\App; $app->use(cors(['origins' => '*'])); $apiRouter = router(__DIR__ . '/routes/api'); $app->use('/api', $apiRouter); $app->listen();
使用以下指令啟動 Lithe 伺服器:
php line serve
造訪http://localhost:8000/api/data,確保JSON正確回傳。
開啟 React 專案中的 src/App.js 檔案並將其內容替換為:
import React, { useEffect, useState } from 'react'; function App() { const [data, setData] = useState(null); useEffect(() => { fetch('http://localhost:8000/api/data') .then(response => response.json()) .then(data => setData(data)) .catch(error => console.error('Error fetching data:', error)); }, []); return ( <div> <h1>Integrating PHP with React using Lithe</h1> {data ? ( <div> <p>{data.message}</p> <ul> {data.items.map((item, index) => ( <li key={index}>{item}</li> ))} </ul> </div> ) : ( <p>Loading...</p> )} </div> ); } export default App;
要啟動 React 開發伺服器,請執行:
npm start
在瀏覽器中造訪http://localhost:3000。您應該會看到訊息“Hello from Lithe!”以及 API 傳回的項目清單。
至此,您已成功將 Lithe 與 React 集成,並配置 CORS 以僅允許 React 應用程式存取後端資源或根據需要允許多個來源。現在您可以根據需要擴展您的應用程式。
歡迎在評論中分享您的經驗和問題!
以上是使用 Lithe 將 PHP 與 React 集成的詳細內容。更多資訊請關注PHP中文網其他相關文章!