所以我正在尝试使用 Yii2 reCaptcha 小部件:http://www.yiiframework.com/extension/yii2-recaptcha-widget/
但是,在为其设置验证规则时
['reCaptcha'], himiklabyii2recaptchaReCaptchaValidator::className(), 'secret' => Yii::$app->params['reCAPTCHA.secretKey']
我收到错误Class 'himiklabyii2recaptchaReCaptchaValidator' not found
.我对作曲家和Yii2很陌生,所以我不确定我错过了什么。
作曲家.json
{
"autoload" : {
"psr-4" : {
"Gaiatools\Yii\" : "src"
}
},
"name" : "gaiatools/site",
"require" : {
"php" : ">=7.0",
"himiklab/yii2-recaptcha-widget" : "*"
}
}
供应商/作曲家/autoload_psr4.php
// autoload_psr4.php @generated by Composer
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'yii\composer\' => array($vendorDir . '/yiisoft/yii2-composer'),
'yii\' => array($vendorDir . '/yiisoft/yii2'),
'himiklab\yii2\recaptcha\' => array($vendorDir . '/himiklab/yii2-recaptcha-widget'),
'cebe\markdown\' => array($vendorDir . '/cebe/markdown'),
'Gaiatools\Yii\' => array($baseDir . '/src'),
);
将此行添加到project-directory/composer.json
文件中require
部分
"himiklab/yii2-recaptcha-widget" : "*"
然后在项目目录命令中运行:
composer update
在项目目录内的终端中运行以下命令。它将自动添加到 composer.json 文件中。
composer require --prefer-dist "himiklab/yii2-recaptcha-widget" "*"
当包含类定义的文件未使用命名空间添加到当前代码中时,会出现找不到类的错误。
请确保您已在要设置验证规则的文件中添加了所需的命名空间,并在文件顶部使用以下代码
使用 himiklab\yii2\recaptcha
希望这将解决您的问题