交叉发布我在 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中文网其他相关文章!