Laravel集成Cloudflare Workers服务。

资助包维护!
rennokki


README

CI codecov StyleCI Latest Stable Version Total Downloads Monthly Downloads License

使用Cloudflare绑定扩展您的PHP/Laravel应用。

本包提供对以下的支持

🚀 安装

您可以通过Composer安装此包

composer require renoki-co/l1

🙌 使用

D1与原生PDO

尽管D1不支持通过SQL协议连接,但可以通过包连接器将其用作PDO驱动程序。该连接器会将查询和绑定代理到Cloudflare API中的D1的/query端点。

use RenokiCo\L1\D1\D1Pdo;
use RenokiCo\L1\D1\D1PdoStatement;
use RenokiCo\L1\CloudflareD1Connector;

$pdo = new D1Pdo(
    dsn: 'sqlite::memory:', // irrelevant
    connector: new CloudflareD1Connector(
        database: 'your_database_id',
        token: 'your_api_token',
        accountId: 'your_cf_account_id',
    ),
);

D1与Laravel

在您的config/database.php文件中,添加一个新的连接

'connections' => [
    'd1' => [
        'driver' => 'd1',
        'prefix' => '',
        'database' => env('CLOUDFLARE_D1_DATABASE_ID', ''),
        'api' => 'https://api.cloudflare.com/client/v4',
        'auth' => [
            'token' => env('CLOUDFLARE_TOKEN', ''),
            'account_id' => env('CLOUDFLARE_ACCOUNT_ID', ''),
        ],
    ],
]

然后在您的.env文件中,设置您的Cloudflare凭证

CLOUDFLARE_TOKEN=
CLOUDFLARE_ACCOUNT_ID=
CLOUDFLARE_D1_DATABASE_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

d1 驱动程序将代理PDO查询到Cloudflare D1 API以运行查询。

🐛 测试

启动内置的Worker以模拟Cloudflare API

cd tests/worker
npm ci
npm run start

在另一个终端中运行测试

vendor/bin/phpunit

🤝 贡献

有关详细信息,请参阅CONTRIBUTING

🔒 安全

如果您发现任何与安全相关的问题,请通过电子邮件alex@renoki.org联系,而不是使用问题跟踪器。

🎉 致谢