Laravel Cloudflare Turnstile 项目教程
1、项目的目录结构及介绍
Laravel Cloudflare Turnstile 项目的目录结构如下:
laravel-cloudflare-turnstile/
├── resources/
│ └── views/
├── src/
├── tests/
├── .editorconfig
├── .gitattributes
├── .gitignore
├── stubs/
│ └── php/
├── CHANGELOG.md
├── LICENSE.md
├── README.md
├── composer.json
├── phpstan-baseline.neon
├── phpstan.neon.dist
├── phpunit.xml.dist
目录介绍
resources/views/
: 包含视图文件。src/
: 包含项目的源代码。tests/
: 包含测试文件。.editorconfig
: 编辑器配置文件。.gitattributes
: Git 属性配置文件。.gitignore
: Git 忽略配置文件。stubs/php/
: PHP 代码模板。CHANGELOG.md
: 变更日志文件。LICENSE.md
: 许可证文件。README.md
: 项目说明文件。composer.json
: Composer 依赖配置文件。phpstan-baseline.neon
: PHPStan 基线配置文件。phpstan.neon.dist
: PHPStan 配置文件。phpunit.xml.dist
: PHPUnit 配置文件。
2、项目的启动文件介绍
项目的启动文件主要是 composer.json
文件,它定义了项目的依赖和其他配置。
composer.json 文件内容
{
"name": "ryangjchandler/laravel-cloudflare-turnstile",
"description": "A simple package to help integrate Cloudflare Turnstile",
"require": {
"php": "^7.3|^8.0",
"laravel/framework": "^8.0|^9.0"
},
"autoload": {
"psr-4": {
"RyanChandler\\Turnstile\\": "src/"
}
},
"extra": {
"laravel": {
"providers": [
"RyanChandler\\Turnstile\\TurnstileServiceProvider"
]
}
}
}
启动文件介绍
name
: 包的名称。description
: 包的描述。require
: 定义了项目所需的 PHP 版本和 Laravel 框架版本。autoload
: 定义了自动加载的命名空间和对应的路径。extra
: 定义了 Laravel 服务提供者。
3、项目的配置文件介绍
项目的配置文件主要是 config/services.php
文件,它定义了 Cloudflare Turnstile 的站点密钥和秘密密钥。
config/services.php 文件内容
return [
'turnstile' => [
'key' => env('TURNSTILE_SITE_KEY'),
'secret' => env('TURNSTILE_SECRET_KEY')
]
];
配置文件介绍
turnstile
: 定义了 Cloudflare Turnstile 的配置。key
: 从环境变量中读取站点密钥。secret
: 从环境变量中读取秘密密钥。
在 .env
文件中,你需要添加以下内容:
TURNSTILE_SITE_KEY="1x00000000000000000000AA"
TURNSTILE_SECRET_KEY="2x0000000000000000000000000000000AA"
这些密钥需要在 Cloudflare 上创建并获取。