首頁 >後端開發 >php教程 >使用 Lithe 將 PHP 與 React 集成

使用 Lithe 將 PHP 與 React 集成

Susan Sarandon
Susan Sarandon原創
2024-10-25 02:17:021087瀏覽

Integrating PHP with React Using Lithe

在這篇文章中,我們將學習如何將 Lithe 框架與 React 庫集成,重點介紹 Lithe 如何與前端庫無縫集成。除了非常適合建立 API 之外,Lithe 還可以透過高效配置 CORS(跨來源資源共享)輕鬆存取應用程式的資源,以確保您的應用程式安全有效地通訊。

第 1 步:設定環境

1. 安裝 Lithe

首先,如果您還沒有安裝 Lithe,請安裝它。在終端機中執行以下命令:

composer create-project lithephp/lithephp project-name
cd project-name

2.安裝React

接下來,在 Lithe 專案中建立一個新的 React 專案。運行:

npx create-react-app frontend
cd frontend

步驟 2:安裝和設定 CORS

1. 安裝CORS模組

要在 Lithe 專案中使用 CORS 中介軟體,您需要安裝 lithemod/cors 套件。執行以下命令:

composer require lithemod/cors

2. 使用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']));

第 3 步:使用 Lithe 設定後端

1. 建立API路由

在您的 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();

2. 測試路由

使用以下指令啟動 Lithe 伺服器:

php line serve

造訪http://localhost:8000/api/data,確保JSON正確回傳。

第 4 步:使用 React 配置前端

1. 在 React 中使用 API

開啟 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;

2. 啟動React伺服器

要啟動 React 開發伺服器,請執行:

npm start

第 5 步:驗證集成

在瀏覽器中造訪http://localhost:3000。您應該會看到訊息“Hello from Lithe!”以及 API 傳回的項目清單。

最後的考慮因素

至此,您已成功將 Lithe 與 React 集成,並配置 CORS 以僅允許 React 應用程式存取後端資源或根據需要允許多個來源。現在您可以根據需要擴展您的應用程式。

歡迎在評論中分享您的經驗和問題!

以上是使用 Lithe 將 PHP 與 React 集成的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn