Laravel 项目使用 gregwar/captcha 验证码
chenxin

用这个验证码还不如用这个https://github.com/mewebstudio/captcha更简单。。。。

JellyBool

额。。。这个我第二个视频会录的。都是比较好的验证码解决方案

John Howard

老大
如何设置纯数字的形式?干扰线如何去除?背景颜色如何设置?

JellyBool

数字的形式,可以试试这样:

$builder = new CaptchaBuilder(‘123456789’);

背景颜色可以这样:

$builder->setBackgroundColor($r, $g, $b);

//比如
$builder->setBackgroundColor(255, 255, 255);
$builder->build($width = 140, $height = 60, $font = null);


John Howard

$builder = new CaptchaBuilder(‘123456789’);

这个方法好像不可行,显示出来的验证码每一个都会是123456789

JellyBool

那这样,你在 app 目录下创建一个 文件夹,比如就是 Builder (注意大小写),在文件夹里面创建这个 class DigiPhraseBuilder.php:

class DigiPhraseBuilder implements PhraseBuilderInterface
{
    /**
     * Generates  random phrase of given length with given charset
     */
    public function build($length = 5, $charset = '123456789')
    {
        $phrase = '';
        $chars = str_split($charset);

        for ($i = 0; $i < $length; $i++) {
            $phrase .= $chars[array_rand($chars)];
        }

        return $phrase;
    }

    /**
     * "Niceize" a code
     */
    public function niceize($str)
    {
        return strtr(strtolower($str), '01', 'ol');
    }
}

然后使用的时候可以这样试试:

$builder = new CaptchaBuilder(‘’,new App\Builder\DigiPhraseBuilder());

注意命名空间和psr-4自动加载写对。

思路是这样的:就是自定义了一个 PhraseBuilder,传进去就好。

John Howard

那个干扰线我在配置文件里,怎么也没找到,如何设置呢?

q8961152

把debugbar和DbExporter加上吧哈哈

JellyBool

OK ... 可以的。

chenze007

Laravel Generator 能简单介绍一下么
https://github.com/InfyOmLabs/laravel-generator
InfyOmLabs/laravel-generator
关于单元测试的例子能写一下么 ,对于这一块没啥概念,老程序员对我说一定要写单元测试,但是不知道确切的作用

JellyBool

可以,不够这个我得看一下,可能得排在这个系列后面一点点

chenze007

谢了,我现在都是以你为榜样,榜样的力量

chenyuanqi

我想问的是,教程里快速切换桌面程序使用的是什么软件?

JellyBool

Alfred。。传说中的神器,你也可以直接使用 spotlight

chenyuanqi

谢谢,这下子可以愉快的装逼了

Oran

https://github.com/toplan/laravel-sms 这个发短信的包,也是不错的。@JellyBool

JellyBool

可以的,这个可以走一个。。。

John Howard

目前也需要这个。

mikughost

博主能否去在实验楼平台上发布相关学习文章呢?

JellyBool

现在不会去那边发布了,之前在那边有文章教程是因为我在那边实习。

xrpeng

怎么让它只输出4位验证码

JellyBool

这样试试:

$builder = new CaptchaBuilder();
$builder->setMaxOffset(4);
xrpeng

和原来一样没变- -!

JellyBool

纳尼,我看了一下源码,貌似是这个样子的。

就是这个 https://github.com/Gregwar/Captcha/blob/master/CaptchaBuilder.php#L185-L190

xrpeng

我也看了源码,改了没用才来问的...具体代码:

$builder = new CaptchaBuilder();

    $builder->setMaxOffset(4);

    $builder->build(160, 60, null);

    header('Cache-Control: no-cache, must-revalidate');

    header('Content-type: image/jpeg');

    $builder->output();
xrpeng

OK了,谢谢大佬~