No CAPTCHA reCAPTCHA For Laravel 使用教程
no-captchaNo CAPTCHA reCAPTCHA For Laravel.项目地址:https://gitcode.com/gh_mirrors/no/no-captcha
1. 项目的目录结构及介绍
No CAPTCHA reCAPTCHA For Laravel 项目的目录结构如下:
no-captcha/
├── src/
│ ├── Facades/
│ │ └── NoCaptcha.php
│ ├── NoCaptcha.php
│ ├── NoCaptchaServiceProvider.php
│ └── config/
│ └── no-captcha.php
├── tests/
│ └── NoCaptchaTest.php
├── .gitignore
├── composer.json
├── LICENSE
├── README.md
目录结构介绍
src/
:包含项目的核心源代码。Facades/
:存放 Facade 类,用于简化对 NoCaptcha 类的调用。NoCaptcha.php
:核心类,负责处理 reCAPTCHA 的验证逻辑。NoCaptchaServiceProvider.php
:服务提供者,用于注册和配置 NoCaptcha 服务。config/
:配置文件目录,包含no-captcha.php
配置文件。
tests/
:包含测试文件,用于测试 NoCaptcha 类的功能。.gitignore
:Git 忽略文件列表。composer.json
:Composer 依赖管理文件。LICENSE
:项目许可证文件。README.md
:项目说明文档。
2. 项目的启动文件介绍
项目的启动文件主要是 NoCaptchaServiceProvider.php
,它负责注册和配置 NoCaptcha 服务。
NoCaptchaServiceProvider.php
namespace Anhskohbo\NoCaptcha;
use Illuminate\Support\ServiceProvider;
class NoCaptchaServiceProvider extends ServiceProvider
{
public function boot()
{
$this->publishes([
__DIR__.'/config/no-captcha.php' => config_path('no-captcha.php'),
]);
}
public function register()
{
$this->mergeConfigFrom(
__DIR__.'/config/no-captcha.php', 'no-captcha'
);
$this->app->singleton('captcha', function ($app) {
return new NoCaptcha(
$app['config']['no-captcha.secret'],
$app['config']['no-captcha.sitekey']
);
});
}
}
功能介绍
boot()
方法:发布配置文件到 Laravel 的配置目录。register()
方法:合并配置文件并注册 NoCaptcha 服务。
3. 项目的配置文件介绍
项目的配置文件位于 src/config/no-captcha.php
,它包含了 reCAPTCHA 的密钥和站点密钥。
no-captcha.php
return [
'secret' => env('NOCAPTCHA_SECRET', ''),
'sitekey' => env('NOCAPTCHA_SITEKEY', ''),
'options' => [
'timeout' => 30,
],
];
配置项介绍
secret
:reCAPTCHA 的密钥,从环境变量NOCAPTCHA_SECRET
中读取。sitekey
:reCAPTCHA 的站点密钥,从环境变量NOCAPTCHA_SITEKEY
中读取。options
:其他配置选项,如timeout
表示请求超时时间。
通过以上介绍,您可以更好地理解和使用 No CAPTCHA reCAPTCHA For Laravel 项目。
no-captchaNo CAPTCHA reCAPTCHA For Laravel.项目地址:https://gitcode.com/gh_mirrors/no/no-captcha