交叉發布我在 Zing 部落格上的文章。
Supabase 是一個開源 Firebase 替代品。他們提供多種服務,但出於本文的目的,我們將深入探討它如何充當網格的簡單後端。
在開始設定網格之前,我們需要在 Supabase 方面執行幾個步驟。
我們首先需要建立我們將連接到的 Supabase 帳戶。您可以使用此連結註冊 Supabase。建立帳戶並確認電子郵件後,請繼續下一步。
繼續前往儀表板頁面並建立新專案。請務必記下項目名稱和資料庫密碼。
此時您應該會看到您的專案 URL 和 API 金鑰。稍後我們需要在程式碼中將這兩個資料提供給 ZingGrid,因此請確保將它們儲存在安全的本機檔案中。
從側邊欄中點選「表格編輯器」部分。從這裡我們可以建立我們的第一個表
第一步是為我們的表命名,這裡我將使用 demoTable
然後我們可以編輯列,在此範例中我將有兩列。一個用於名字,一個用於姓氏。
我們將暫時停用行級安全性,以便我們可以出於本演示的目的輕鬆地從表中讀取和寫入。在生產中,我們需要透過身份驗證來設定適當的角色。
⚠️ 注意:此設定變更僅用於此示範的目的,不適用於生產
ZingGrid 支援與 Supabase 互動的兩種方式 - 透過 REST API 和客戶端腳本。我們將首先使用 REST API。
使用下面的初始示範程式碼,確保取代以下內容:
<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="/lib/zinggrid.js"></script> <title>Supabase</title> </head> <body> <zing-grid page-size="5" sort pager title="Supabase" editor-controls editor-disabled-fields="id" src="https://***link***.supabase.co/rest/v1/***tableName***" > <zg-data adapter="supabase"> <zg-param name="headers" value=' { "Authorization": "Bearer ***apiKey***", "apikey": "***apiKey***" }' ></zg-param> </zg-data> </zing-grid> </body> </html>
在瀏覽器中查看該頁面時,您應該開始看到我們填充的初始資料!
如果您的應用程式碰巧使用 Supabase JavaScript 用戶端程式庫(您可以在其文件網站上閱讀更多相關資訊),您可以將 Supabase 憑證儲存在標記之外,從而更加靈活。
修改前面的範例,我們先建立一個 Superbase 用戶端物件(更多內容請參閱他們的文件)
const supabaseUrl = 'https://***link***.supabase.co/'; const supabaseKey = '***apiKey***'; const supabaseClient = supabase.createClient(supabaseUrl, supabaseKey);
然後向 ZingGrid 註冊該客戶端
ZingGrid.registerClient(supabaseClient);
最後我們將 zg-data 上的適配器屬性設為supabaseJS,我們有以下內容
<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Supabase</title> <!-- ZingGrid --> <script src="https://cdn.zinggrid.com/zinggrid.min.js"></script> <!-- Supabase Client Library --> <script src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2"></script> </head> <body> <script> const supabaseUrl = 'https://***link***.supabase.co/'; const supabaseKey = '***apiKey***'; const supabaseClient = supabase.createClient(supabaseUrl, supabaseKey); ZingGrid.registerClient(supabaseClient); </script> <zing-grid page-size="5" sort pager title="SupabaseJS" editor-controls editor-disabled-fields="id" > <zg-data adapter="supabaseJS"> <zg-param name="dataTable" value="***tableName***"></zg-param> </zg-data> </zing-grid> </body> </html>
跟以前一樣工作
以上是將 ZingGrid 連接到 Supabase:在幾分鐘內新增後端的詳細內容。更多資訊請關注PHP中文網其他相關文章!