ホームページ >PHPフレームワーク >YII >yii 独自の認証コードの使用方法
ステップ 1: コントローラーの構成
'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', // 'backColor'=>0x000000,//背景颜色 'maxLength' => 4, //最大显示个数 'minLength' => 4,//最少显示个数 'padding' => 5,//间距 'height'=>45,//高度 'width' => 75, //宽度 // 'foreColor'=>0xffffff, //字体颜色 'offset'=>4, ],
2 番目のステップ: ルール設定をモデル化します。つまり、設定を確認します。
最初にパブリック変数を宣言しますpublic $verifyCode次に、ルール メソッドで検証を構成します
['verifyCode', 'captcha','captchaAction'=>'user/captcha','on' => ['login']]この構成に「captchaAction」を追加します、つまり、コントローラーのルーティングです。設定されていない場合は、サイト/キャプチャ ルーティングが使用されます。これは、フレームワークの例のルーティングです。
ステップ 3: ビューでの構成
次のコードを ActiveForm に追加します:<?= $form->field($model,'verifyCode')->widget( Captcha::className(), [ 'template' => '{image}{input}', 'captchaAction'=>'user/captcha', // 此注意要使用自己配置的那个控制器验证码路由 'imageOptions'=>[ 'style'=>'cursor:pointer;width:77px'] ] )最後に、大きな落とし穴の問題が発生します。 Windows環境ではエンコード処理時に一部の改行文字やスペースが使用されるため、不明な出力が発生し、検証コードイメージが正常に生成できません。 これは、CaptchaAction クラスの renderImageByGD メソッドに次のコードを追加する必要があるためです。
imagecolordeallocate($image, $foreColor); ob_clean(); // 此行为插入代码,目的是清空缓存区为输出图片提供干净空间。 ob_start(); imagepng($image); imagedestroy($image);php 中国の Web サイト、多数の無料の
yii 入門チュートリアル 、オンライン学習へようこそ!
以上がyii 独自の認証コードの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。