使用 Supabase 与 Laravel
了解如何创建一个 PHP Laravel 项目,将其连接到您的 Supabase Postgres 数据库,并配置用户身份验证。
创建 Laravel 项目
确保您的 PHP 和 Composer 版本是最新的,然后使用 composer create-project 命令来搭建一个新的 Laravel 项目。
更多详情请参阅 Laravel 文档。
终端
1composer create-project laravel/laravel example-app安装身份验证模板
安装 Laravel Breeze,这是 Laravel 所有 身份验证功能 的一个简单实现。
终端
1composer require laravel/breeze --dev2php artisan breeze:install设置 Postgres 连接详情
前往 database.new 并创建一个新的 Supabase 项目。安全地保存您的数据库密码。
当您的项目启动并运行时,导航到您的项目仪表板并点击 连接。
查找 Session Pooler 连接字符串并复制该字符串。您需要将密码替换为您保存的数据库密码。如果您没有密码,可以在您的 数据库设置 中重置数据库密码。
如果您处于 IPv6 环境或拥有 IPv4 附加组件,则可以使用直接连接字符串,而不是在会话模式中使用 Supavisor。
.env
1DB_CONNECTION=pgsql2DB_URL=postgres://postgres.xxxx:password@xxxx.pooler.supabase.com:5432/postgres更改默认模式
默认情况下 Laravel 使用 public 模式。我们建议更改此设置,因为 Supabase 将 public 模式作为 数据 API 公开。
您可以通过修改 app/config/database.php 中的 search_path 变量来更改 Laravel 应用程序的模式。
您在 search_path 中指定的模式必须在 Supabase 上存在。您可以在 表格编辑器 中创建一个新的模式。
app/config/database.php
1'pgsql' => [2 'driver' => 'pgsql',3 'url' => env('DB_URL'),4 'host' => env('DB_HOST', '127.0.0.1'),5 'port' => env('DB_PORT', '5432'),6 'database' => env('DB_DATABASE', 'laravel'),7 'username' => env('DB_USERNAME', 'root'),8 'password' => env('DB_PASSWORD', ''),9 'charset' => env('DB_CHARSET', 'utf8'),10 'prefix' => '',11 'prefix_indexes' => true,12 'search_path' => 'laravel',13 'sslmode' => 'prefer',14],运行数据库迁移
Laravel 附带数据库迁移文件,用于设置 Laravel 身份验证和用户管理所需的表。
注意:Laravel 不使用 Supabase Auth,而是实现了它自己的身份验证系统!
终端
1php artisan migrate启动应用
运行开发服务器。在浏览器中访问 http://127.0.0.1:8000 以查看您的应用程序。您还可以导航到 http://127.0.0.1:8000/register 和 http://127.0.0.1:8000/login 来注册和登录用户。
终端
1php artisan serve