تغییر مقادیر پیش فرض کپچادر yii2


سلام

گاهی لازمه از یه کپچا ساده تر یا پیشرفته تر استفاده کنیم واسه همین مجبور میشیم یه ذره کچای یی رو تغییر بدیم

واسه این بهتره یه کلاس توی کامپونت ها بسازیم و اون رو از اکشن کپچا اکستند کنیم و بعد هم مقادیر دلخواه رو به کپچا بفرستیم

یه نمونه :

<?php
 

namespace app\component;


use yii\base\Widget;
use yii\captcha\Captcha;
use yii\captcha\CaptchaAction;

class myCaptcha extends CaptchaAction {





        protected function generateVerifyCode()
    {

        $length=4;


        $letters='1234567890';
        $code='';
        for($i=0;$i<$length;++$i)
        {
            $code.=$letters[rand(0, strlen($letters)-1)];
        }



        return $code;
    }



} 

 

خب اینو توی یه فایل به اسم myCaptcha  ذخیره کنید و بعد هم توی کنترلی که قراره کپتچا توش استفاده بشه اون رو معرفی کنین

    public function actions()
    {
        return [
            'error' => [
                'class' => 'yii\web\ErrorAction',
            ],
            'captcha' => [
                'class' => 'app\component\myCaptcha',
                'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
            ],
        ];
    }

بعدش می مونه ی بقیه کارای درست کردن کپچا که خیلی راحته و امیدوارم بلد باشین :)

 

۱۳۴۸/۱۰/۱۱ || in category : فریم ورک yii